G76 perf drop after Android Q update (bandwidth problem?)


We are running into an issue where an existing GLES3 app rendering performance has dropped significantly after upgrading a couple of Galaxy devices S10 (SM-G975F, SM-G970F) from Android Q from P.

Unfortunately I can't provide an actual apk nor a minimal example reproducing the issue right now but I've managed to narrow the issue down to a two-pass separable blur with a rather large kernel size (size 41). The blur is performed on a region of a 720x1280 RGBA texture with scissors covering about 40% to 60%. Both horizontal and vertical blurs are manually unrolled in the FS.

I ran a couple of Streamline captures (see attached files) for the exact same app running on two different devices:

  • (A) SM-G975F (G76) with Android 10
  • (B) an older SM-G950F (G71) with Android 9

I know comparing different GPUs is far from ideal but it's the best I can do given that I don't have any G76 devices running Android 9 available right now.

Comparing A to B seems to show there is now a huge difference in bandwidth use (4.83/5.40 GiB vs 288/300 MiB) for the selected timespan. I am new to Streamline so I might be misinterpreting its output, please correct me if that's the case.

Any ideas on what may trigger this behavior? I guess I'm doing something the newer driver doesn't like but I have no idea what.

Thank you.


Streamline captures (screenshots)

 Android9 - G71

Device info

Device: S10+ (SM-G975F)
OS: Android 10
OpenGL ES 3.2 v1.r19p0-01rel.0.###other-sha0123456789ABCDEF0###

Device: S8 (SM-G950)
OS: Android 9
OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###