still unable to achieve 60 fps

Here is where I have issue with this. In empty scene it’s 58 fps, 17 ms. With ~230k tris ~15 drawcalls it’s 58 fps 18.xx ms. With ~180tris ~26 drawcalls it’s 58 fps 18.xx ms. With <10k tris, <60 drawcalls it’s still 58 fps, 18.xx ms (don’t have exact numbers, but it was 4 walls, floor and a few cubes scene). So, how would you explain that?

Technically, I went way beyond (more than doubled) tris count soft limit imposed by Oculus and got the same performance as in very low poly scene, but much better look. The only thing I can think of is heat and battery drain. Should not be an issue for people who have cooling and external power bank (which is what everyone who is into solid experiences and games should have for Gear VR).

I am guessing if Oculus tests it and whoever tests it feels no discomfort, fps counter shouldn’t even matter :smiley:

Could be. I can try disabling it and see fps through adb logcat.

I already explained it. U can’t display 120 frames on a display which max is 60FPS. Again, if it does nothing for 0ms it will wait 16ms before the next frame can be displayed, since there’s nothing else it could do. If it does something which takes 5 seconds it will do it and stay idle for 11ms before the next frame can be displayed.

Those are soft limits that if u keep u’ll stay on mark. There’s some flexibility to those, but they are very much scenario specific. In some cases u could be okay if u use more polys instead of another draw call - in other it may be the other way around.
I can tell u that in my specific scenario as soon as I approach the soft limits, since I’m maxing out all of them at once, it starts to affect FPS.

Regarding Oculus and their tests, I’d bet that they’d probably rely on statistics they can get fast, instead getting a number of people to play the whole game a number of times just to make sure that no one would feel sick. 58 frames if they r constant without many big spikes and drops are probably as good as 60.

EDIT: I’ve seen mentioned that on Android the display is drawn in tiles/buckets. So If u have a scenario where one bucket has to draw 100k triangles and the next is empty may be slower than two where each one has 50k triangles to draw.