I'm experiencing essentially the same thing with my OpenGL app. Xcode shows its performance as continuous 60fps with only about 25% GPU utilization, yet every 4th frame or so simply doesn't get drawn to the screen, and the final result looks juddery. In my case, no frames are taking longer than 1/60 second to compute.
Interestingly, when UIKit elements are displayed on top of the OpenGL layer, that sometimes "fixes" the problem and the animation temporarily becomes buttery smooth 60fps, then when the UIKit elements are hidden, it gets choppy again. EAGLLayer doesn't respond to [setNeedsDisplay], so I don't know how to force the layer to be drawn to screen; it's as if the call to glPresentRenderBuffer() is simply ignored. Very puzzling, and very frustrating. I'm going to try adding 120fps support to see if that improves the situation at all.
Topic:
Graphics & Games
SubTopic:
General
Tags: