Search Unity

5.3 Android SG6 Framerate Dropped Significantly

Discussion in 'Android' started by sh0v0r, Dec 9, 2015.

  1. sh0v0r

    sh0v0r

    Joined:
    Nov 29, 2010
    Posts:
    325
    My game is very low poly, all vertex colored, one shader, averages about 50 draw calls.

    With 5.2.3 my Galaxy S6 would get a very high frame rate 60+, now I'm getting 15 FPS on average?

    The Profiler tells me Camera.Render takes 2ms on average, so what on earth has made the performance tank so much?
     
  2. Azmar

    Azmar

    Joined:
    Feb 23, 2015
    Posts:
    246
    I had 5.1.3f with Samsung S4, and I just upgraded to 5.3.0 with low poly. We were averaging around 33 fps, now we are also getting 15 fps on average too! No changes were done, I just upgraded and ran and huge fps drop, some serious regression going on here!
     
  3. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    Can someone with a good repro please file a bug on this? And if possible include both projects, one 5.2 version and one for 5.3? Or just the 5.2 version if the project upgrades cleanly to 5.3.
     
  4. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    Spending all my time trying to get round this issue at the moment; so will try to put in some decent bug reports asap.
     
  5. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    Awesome! Thank you!
     
  6. Brickush

    Brickush

    Joined:
    Dec 18, 2014
    Posts:
    8
    We had a similar problem with the 5.3 version. What worked was to uncheck Auto Graphics API from Android player settings and just leave OpenGLES2 and OpenGLES3 in the Graphics APIs list. Nice FPS and no pink screens.
     
  7. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    @Brickush how did you order the graphic apis? Did you put ES 2.0 before ES 3.0?
     
  8. Azmar

    Azmar

    Joined:
    Feb 23, 2015
    Posts:
    246
    I also submitted a bug report just now. I tried the Graphics API thing on an earlier version 5.1.3f and that didn't change anything so I left it. I literally removed the ES 3.0 option and it fps stayed the same on my device.
     
  9. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    I submitted a bug report too. Have tried just about everything! Some settings changes simply make a different item on the profiler take up 40%-80% of the CPU. Usually SpriteRenderer.Render, Device.Present, or Present.BlitToCurrentFB, whatever that means...
    Either way, the exact same setup gives me a rock solid 60fps on an iPhone 5, whereas I am hilariously getting as low as 1fps on a Samsung S6!
     

    Attached Files:

  10. robertsze

    robertsze

    Joined:
    Jul 8, 2013
    Posts:
    83
    Same here. Nexus 7, stable 60fps with Unity 5.1, 5.2, 5.2.3p2. Now 30-45 fps with drops to as low as 15 fps. Nothing changed. Just opened project with 5.3 and downloaded.
     
  11. sh0v0r

    sh0v0r

    Joined:
    Nov 29, 2010
    Posts:
    325
    From another thread:

    "Our android build was 60 FPS using Unity 5.3.0f2, but we dropped below 30 after updating to the official release 5.3.0f4.
    After some testing we've managed to get back to our original frame rate by disabling the OpenGL ES3 so only OpenGL ES2 is being used"
     
  12. robertsze

    robertsze

    Joined:
    Jul 8, 2013
    Posts:
    83
    This indeed did also fix our framerate problem, back to stable 60 fps.
     
  13. Section-One

    Section-One

    Joined:
    Sep 8, 2014
    Posts:
    81
    I am also experiencing this issue. (haven't tried the workarounds suggested here yet).
    on 5.2 my game was running around 50fps. on 5.3 its around 20-30. (Android 5.1, Meizu MX4)
     
    Last edited: Dec 10, 2015
  14. Brickush

    Brickush

    Joined:
    Dec 18, 2014
    Posts:
    8
    I did not know that mattered! We have ES2 then ES3.
     
  15. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    We have identified one performance regression that hits some GPUs. One thing that is affected is dynamic batching among other things. Switching to ES 2 could help on some devices because the GL extension that is causing the regression is not present on all devices. We have a fix for the problem which is being tested by QA now.

    If any of you have submitted bugs with repro cases please post the case number here so we can confirm there is not some other issue that is also causing regressions.
     
  16. Azmar

    Azmar

    Joined:
    Feb 23, 2015
    Posts:
    246
    Case 752206
     
  17. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Just to add one more post to the crowd. I also experienced a massive frame drop down on Kindle and Samsung devices and by removing ES3 support in the Player Settings, it went back to normal (60fps).

    -act
     
  18. mrm83

    mrm83

    Joined:
    Nov 29, 2014
    Posts:
    345
    unchecked Auto Graphics API from Android player settings as suggested above and it improved framerates for me on galaxy s5. 5.2 is still faster however.
     
  19. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    The case number I submitted with this issue is 752100.
    Unfortunately, removing ES3 doesn't seem to make much of a difference to my project.
     
  20. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    If I read the case description correctly this is not about a performance regression since Unity 5.3 but general bad performance, e.g. compared to iOS, right?
     
  21. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    It would seem that it is the same performance regression since 5.3 that everyone else here is describing; I am only comparing it to iOS performance because we've just switched back to Android after everything went smooth on iOS, and are lost for why performance is so bad!
     
  22. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    The case description says "We are seeing this occur across Unity 5.1, 5.2 and now 5.3 too.". That's why I was asking. :).
     
  23. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    @jacknorrisuk I cannot reproduce the bad performance with the repro project of case 752100 on my SGS6, always hitting 60fps. So I'll be waiting for QA to handle this case. It would be good if you could add detailed software version of your device to the case ("adb shell getprop ro.build.fingerprint").

    FYI, I'm using a version of Unity 5.3 that's closer to the yet unreleased 5.3.0p1 and that already includes the regression fixes for dynamic batching.
     
  24. Section-One

    Section-One

    Joined:
    Sep 8, 2014
    Posts:
    81
    for me it is about performance regression since Unity 5.3 on android
    removing ES3 resolves it
     
  25. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    Ah, my apologies! Yes, where it gets really confusing is that we can't seem to return our project to the performance we were getting before with previous Unity builds.
     
  26. jacknorrisuk

    jacknorrisuk

    Joined:
    Jun 17, 2014
    Posts:
    38
    Okay, thanks for trying it! I will try to create another demo project to see if you can reproduce.
     
  27. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    I had a look at the repro project in the case. The regression fixes for dynamic batching that should hopefully be in Unity 5.3.0p1 significantly improve the performance on at least the Samsung Galaxy S5 (SM-G900F). I only had a short look, so I will leave this case open for QA.
    Can you please list at least some of the devices you used for testing to the case? Performance cases are already kind of complicated for QA because in many cases there is no clear "broken"/"fixed".
     
  28. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    The fix for the performance regression in dynamic batching (that can also be workarounded by using OpenGL ES 2.0) will be in Unity 5.3.0p1.
     
  29. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    Once Unity 5.3.0p1 is out please let us know if you are still seeing slowdowns compared to 5.2.
     
    Gametyme likes this.
  30. Azmar

    Azmar

    Joined:
    Feb 23, 2015
    Posts:
    246
    Samsung S3 and Samsung S4
     
  31. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
  32. pixioco

    pixioco

    Joined:
    Feb 3, 2016
    Posts:
    2
    I'm having some performance issue on nexus 7 (1st and 2nd gen), and nexus 5 as well, using Unity 5.3.2p4. The game gets laggy when more ui stuff pop up, but pretty smooth on other android devices, e.g. the samsung ones. Is there any issue related to this? Any patch addressing this issue?
     
  33. allenrobot

    allenrobot

    Joined:
    Mar 23, 2015
    Posts:
    10
    Just tested after unchecking the Graphics API using Samsung Note 3. No 3d graphics in app, just GUI and nothing too crazy either. Was running really great on earlier Unity version. It feels about 20% faster than it was before unchecking that but it is still acting laggy visually.
     
  34. AbsoluteZero

    AbsoluteZero

    Joined:
    Sep 2, 2013
    Posts:
    19
    Thanks, this solved it for me also. I had a very simple scene and all of a sudden I was getting 20fps. Not things are back to 60+fps.
     
  35. JDMulti

    JDMulti

    Joined:
    Jan 4, 2012
    Posts:
    384
    Had the same issue. Customer calling me that there S7 ran a GearVR app like cheese sjheet. I hope this helps me out, as the app runs still fine on Note 4 and S6, so S7 should run it with ease.