I'm experiencing rendering and culling times increasing by about 4-5 ms once or more every few seconds for irregular periods (0.5-1s). Nothing changes / moving in the image, not even moving the view (phone sitting on table outside of Gear VR). These rendering oscillations result in dropping to 30FPS from 60FPS time by time. Issue persists even after removing all my scripts / characters / physics, only leaving about 100 static tiles (batch called at once) and some more simple immobile objects and UI elements, 25 draw calls (20K tris) altogether counting both eyes. Most of the time launching the same build results in a lot of these FPS drops, sometimes none at all for minutes. Building with VR supported turned OFF (so as a non-VR android app) shows NO such rendering / performance oscillations, nor when running in Unity Editor. Only when compiled for Gear VR.
Using Unity 5.5.3f and Galaxy S7 Edge (Android 7.0), OVR 1.0.1 plugin. No particles, No realtime lights, only one baked directional, no lightmap baked, no spotlights. Occlusion culling turned off (no need as we have only 25 draw calls in the entire scene, all packed in one place). Unity profiler and internal profiling from adb logcat shows the same so its not the profiler's fault.
How is it possible that rendering and culling times oscillate by 4+ ms while nothing changes in the scene, scripts Update() methods are all disabled, no animations, it's just a few simple static objects and UI elements. Looking away those 100 tiles does get rid of the oscillation but it still doesn't explain why a couple of tiles, 30 vertices each, called in one or two dynamic batches would result in such strange oscillations.
EDIT: another observation is that these slow rendering periods tend to increase in length and frequency with time and sometimes Unity profiler even ends up freezing after half a minute or so. This is despite no memory build up as you can see in the screenshot.