Search Unity

Game runs good on low end android devices but runs slow on high end devices like Samsung A500G?

Discussion in 'Android' started by RajneeshG, Jan 14, 2016.

  1. RajneeshG

    RajneeshG

    Joined:
    Jan 3, 2014
    Posts:
    15
    Hi,

    While developing I am testing my 2D game on Asus Zenfone 4, Samsung GT series and other low end mobiles. The game runs smoothly.

    But recently, I tested the game on Samsung A500G ( higher config than my previous mobiles) and I wondered, the game runs very slow (laggy). I have tried many options in Quality and Graphics settings but the result is same.

    Is it GPU vs CPU?

    Why game runs smooth on low end device but runs slow on high end device.?
     
    Last edited: Jan 14, 2016
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,755
    Which one is the A500? I can't find decent specs.

    If it has Adreno 305, then it's roughly on par with Zenfone 4 (and zenfone has a pretty low resolution screen, which could mean your game is fillrate bound)
     
  3. RajneeshG

    RajneeshG

    Joined:
    Jan 3, 2014
    Posts:
    15
    On this spec game runs very very slow (not even playable) , but on lower end device it runs smooth

    Mobile - Samsung SM-A500G
    OS: Android OS, v4.4.4 (KitKat), upgradable to v5.0.2 (Lollipop)
    Chipset: Qualcomm MSM8916 Snapdragon 410
    CPU: Quad-core 1.2 GHz Cortex-A53
    GPU: Adreno 306
     
  4. outasync

    outasync

    Joined:
    Mar 1, 2014
    Posts:
    48
    Go to your build settings -> Player Settings -> Untick 'Auto Graphics API', make sure OpenGLES2 is added and remove OpenGLES3

    Now build your apk and it should now run smooth on higher end devices
     
    RajneeshG likes this.
  5. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    The whole point is Unity need to fix this, so we do not have to do this workaround. But I bet it will help..
     
  6. outasync

    outasync

    Joined:
    Mar 1, 2014
    Posts:
    48
    Indeed they do, I'm still waiting for the Android splash screen to be fixed!
     
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,755
    AFAIK, isn't it more of an issue with devices "supporting" GLES 3, but having really terrible performance and terrible drivers?
     
  8. RajneeshG

    RajneeshG

    Joined:
    Jan 3, 2014
    Posts:
    15
    Great.. Thanks, it worked.

    But the option look so hidden and mysterious... need to be fixed by Unity ?.
     
  9. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Not sure, then if there some official response and announcement then I would understand. But its guess work now.
     
    AcidArrow likes this.
  10. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    HOLY DUCKING SHIZ

    this topic ... hours wasted trying to figure out what the duck was causing such piss poor performance, and weeks ignoring doing any development on my mobile game.. only to try out this solution..

    like wtf unity!!! was 10fps, now back to 60fps... time to start enabling everything again :)

    I would never have known about this issue with gles3 being so crap for performance on newer devices.
     
    elias_t and MrEsquire like this.
  11. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    fyi it looks like the Screen.SetResolution code I had, started working with gles2.0 on the device, while SetResolution did not work with gles3.0.. my device native is 1080p, while the SetResolution I was using was at 720p, so the performance gain I got was because mainly because of that I think.
     
  12. florianpenzkofer

    florianpenzkofer

    Unity Technologies

    Joined:
    Sep 2, 2014
    Posts:
    479
    @Player7 Screen.SetResolution should work with ES2 and ES3. That's a bug in Unity if it doesn't work when using OpenGL ES 3. Can you please report this as a bug with repro case and info about the device? (https://unity3d.com/unity/qa/bug-reporting).
     
  13. Daahrien

    Daahrien

    Joined:
    Dec 5, 2016
    Posts:
    100
    well, I came around this and I had hope, but removing GL 3 actually made my game lose another 5 fps, so I had to re add it. So your mileage may vary :/
     
  14. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,755
    That's not a bad thing. It means Unity's support of ES 3.0 and driver quality has improved. Also if you're doing slightly complicated stuff, ES 3.0 should be faster.
     
  15. kfireven

    kfireven

    Joined:
    Oct 18, 2016
    Posts:
    38
    OMG... this still works in 2021. Game runs a lot smoother on high-end devices using just OpenGLES2.
     
    Last edited: Oct 3, 2021
  16. kfireven

    kfireven

    Joined:
    Oct 18, 2016
    Posts:
    38
    Removing OpenGLES3 still doesn't explain why the game runs smoothly on much older and weaker device(LG G5), and runs slower (with hiccup/shuttering) on a newer high-end device(S9+). - because both devices support OpenGLES3.
     
  17. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,755
    It does actually. Although I don't know that device, early GLES 3.0 support was super hacky and slow and mobiles had bad drivers, which were never really updated.

    The real issue is:
    The worse performance in newer devices is kinda worrying. Are you sure your game is the exact same in both gles2.0 and 3.0? Are there maybe stuff that change? (post FX that don't work? shaders that fallback to simpler shaders?)
     
  18. kfireven

    kfireven

    Joined:
    Oct 18, 2016
    Posts:
    38
    It's exactly the same, I uploaded the game to google play and downloaded it from there into both devices. After that loaded the same scene - smooth gameplay on older LG G5, constant stuttering/hiccups on the newer Galaxy S9+.
     
  19. kfireven

    kfireven

    Joined:
    Oct 18, 2016
    Posts:
    38
    The only difference I saw between GLES2 TO GLES3 is with transparency - objects with transparent texture where like very low resolution and were like smearing a little in GLES2. But that's all.
     
  20. kfireven

    kfireven

    Joined:
    Oct 18, 2016
    Posts:
    38
    BTW I meant That the game runs smoother on the LG G5 with GLES3 added (and is first in the hierarchy) on both devices. Removing GLES3 only removes the hiccups on the S9+. Sorry for the confusion.
     
    Last edited: Oct 4, 2021