Search Unity

Fps drops from 30 to 15 on Snapdragon 625 - why?

Discussion in 'Android' started by alex1st1, Oct 9, 2019.

  1. alex1st1

    alex1st1

    Joined:
    Jan 26, 2019
    Posts:
    275
    See video: castle views is 30 fps, running view is 15, why?
    What am I doing wrong? How to find and fix that?

    As exit from running to castle view returned to 30 fos again, I would not believe it us overheating

     
  2. alex1st1

    alex1st1

    Joined:
    Jan 26, 2019
    Posts:
    275
    Hey unity forum, are you dead?
    As recommended on Reddit, I tried t turn off second camera and vsync, and it helped greatly.
    Any other tips?
     
  3. TommyTheITGuy

    TommyTheITGuy

    Joined:
    Jun 11, 2015
    Posts:
    53
    You didn't provide enough details, such as Unity version, device model & Android version.
    Some of the possible causes of framerate being cut in half:
    1) Your QualitySettings.vSyncCount property is to 2. This causes the engine to output one frame update every second screen update.
    2) Your device is overheating, causing it to engage thermal throttling, reducing hardware performance in an effort to decrease the temperature. I find it often happening for example on Samsung Galaxy Tab S2 with more demanding games, when suddenly the framerate count is cut in half.

    You should try the builtin profiler & frame debugger to detect performance problems. I assume, that if you compare these two situations, you will see that the lower framerate one probably has much more draw calls and/or overdraw.
     
  4. alex1st1

    alex1st1

    Joined:
    Jan 26, 2019
    Posts:
    275
    Ok, thanks!
    Unity 2019.2.6
    3 different android devices actually, Snapdragon 636, 625 and veryold Lenovo vibe x2

    Overheating really is not the case as I tried it on cold devices.

    What other tips for android optimization do exist for 2019?
     
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    When you enable vsync, a display cannot be variable. You can't have 58fps for example, it will drop to 30, which is half, each time. It rounds down if that makes sense. If you do not want this behaviour you will have to:
    • disable vsync
    • optimise
    • lower resolution

    Simple.

    Forum is not "dead" if someone doesn't bother answering a post that is a duplicate (your question is asked by people at least once every week or so because apparently google doesn't work for them).