I have a very simple scene as follows with only one object in it
I am testing its frame rate using profiler in a pixel phone. It started out at 30 FPS which is great. However, it drops down to 17 FPS after about 10min or so. Looking at profiler, GPU rendering time (gfx.presentframe) increased from 2ms to 40ms which is causing a problem
Anybody knows what’s happening? or how should I dig deeper? Thanks!
Gfx.PresentFrame
Represents the time your application spent waiting for the GPU to render and present the frame, which includes waiting for VSync.
Note: The Editor doesn’t VSync on the GPU and instead uses WaitForTargetFPS
to simulate the delay for VSync. Some platforms, in particular Android and iOS, enforce VSync or have a default frame rate cap of 30 or 60.
I suggest debugging your GPU to see if there is any work increase (mind the fillrate too). If there is none of that then your device might be changing the VSync target to lower battery usage or device temperature.