Forums - Performance issues on Android 5.0 (Lollipop)

4 posts / 0 new
Last post
Performance issues on Android 5.0 (Lollipop)
VB_34
Join Date: 30 Jan 12
Posts: 8
Posted: Mon, 2015-01-12 03:21

Hello,

We noticed a reduction in GPU performance in some of our games running on devices with Adreno GPUs (mostly the Nexus family, like Nexus4, Nexus6, Nexus7) after updating those to Android 5.0.

The performace loss depends on the game but it can be as high as going from 30 fps to 20 fps...

What happens is that a random draw call (the concerned draw call may change when moving the camera) in the frame will have a huge duration on Android 5.0, like 10 to 20ms, while on previous versions of Android OS everything is ok...

After some testing it would seem the main bottleneck is either blending or having a lot of overlapping. For example in one of our game we get back good fps if we disable UI display (in this specific game UI is rather complex, causing lots of transparent drawcalls)

Another test shows that if we reduce the game framebuffer resolution to 50% of native size (ex; on Nexus6) then we get back to an acceptable performance ...

So right now we are clueless on how to fix this properly as this seems to be a driver issue / or something happening when the Adreno driver communicates with Android 5.0.

Our current guess is that this related to the FLEX rendering system / memory bandwidth :
  => we may get out of GMEM on Android 5.0, causing slow memory accesses during blending
 => the FLEXRender system may fail on Android 5.0, either setting the game in Direct Rendering mode, or constantly switching between deferred rendering / direct rendering
 => note we failed to get the QCOM_binning_control extension working properly and it does not seems to be available anyway on Nexus 6 for example
 => there could be something different with the Adreno driver on Android 5.0, causing slowdowns (fb store / resolve issues?) when binning regions with a lot of overlapped / blended polygons

It would be great if we could get some advices / hints on how we can fix this

Thanks !

 

 

 

 

  • Up0
  • Down0
mhfeldma Moderator
Join Date: 29 Nov 12
Posts: 310
Posted: Mon, 2015-01-12 07:56

Is there perhaps a sample application you have that could demostrate the slowdown in Android 5, with a display and/or log of the fps?

Have you used tools such as the Adreno Profiler to help pinpoint current rendering bottlenecks in your app, in realtime without making code changes  and remeasure?

There are generally few cases where GL_QCOM_binning_control provides a meaurable advantage, so we recommend focusing elsewhere for performance improvements.

 

  • Up0
  • Down0
VB_34
Join Date: 30 Jan 12
Posts: 8
Posted: Tue, 2015-01-13 04:19

Hello,

The Adreno profiler is not yet working with Android 5.0, at least it is not working on the Nexus6 which is the most problematic device we have, so I cannot use it (there are discussions about this in the Qualcomm forums).

As a sample app you could test one of our already published apps on a Nexus6, just tell me how I can give you a link which would not appear publicly in this forum (maybe I could also make a special version for you and upload it to a private ftp)

Thanks

  • Up0
  • Down0
VB_34
Join Date: 30 Jan 12
Posts: 8
Posted: Wed, 2015-01-21 02:52

Hello,

It appears that the problematic games were not using VBOs "enough".
After changing the code to use VBOs where possible the framerate increased to almost the same levels as versions not using much VBOs running on Android 4.

So problem is solved

Thanks

 

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.