- Home /
low FPS when battery is low ( unity android )
i make a simple 2d scene in unity 2017.3.1f1 (only 5 sprite renderer). I realized that when my Android device's battery is under 20 %, the frame rate will be 60 to 30. I did all the optimizations I heard, like:
DynamicBatching, Sprite Atlas , Quality Setting , sprite Texture Comprestion Override for Android And I emphasize that my scene contains only 5 sprite (one background and 4 sprite)
i use Application.targetFrameRate = 60; because if don't , all time The motions are stuttering Whether the battery is over 20% or not.
when the vsync is off, the frame is locked to 30 and when it's turned on, it changes for about half a second between 30 and 60
according to profiler (on my android device) Gfx.WaitForPresent start growing!!! (if you want to say it is GPU bound , i think render time don't grow And scence is very simple)
In all these modes, The motions are stuttering.
I tested two kinds of moves
1: Moving camera in the update method by the following code: Code (CSharp):
void Update () {
if(startMvCm){
if (cam.position.y > EndCm ) {
cam.Translate(0f,(speedCm*Time.fixedDeltaTime),0);
} else {
cam.position = new Vector2(0,EndCm);
startMvCm = false;
}
}
}
2: An animation of moving an image in canvas (simple UI menu with 5 button) using Animator.
And this low FPS see more in low Battery on my "Huawei Mate 10 Lite"
Are you sure the phone isn't just throttling the preformance of all apps when battery is low? This is probably the case since the phone wants to save energy to expand lifetime.
yes i know phone try to save battery but i test some other game run smoothly even when battery low !!
Your answer
Follow this Question
Related Questions
Framerate drops from 60 to 20 because of meshrenderer? 0 Answers
Low FPS when against a wall? 1 Answer
Locate cause of massive frame rate drop 0 Answers
Sudden Framerate drops at random times?? 2 Answers