mono/MonoGame — pull request #1030 by RayBatts (2012-11-26 20:27:49+00:00)
Title: Improved iOS game loop/v-sync timing

Note: This change needs some heavy testing before it's pulled in with the rest of it. It's a pretty big change that only touched a couple lines of code.

After a lot of experimentation, we found that we were hitting v-sync waits in our application. Since there's no option to disable v-sync, it was causing a significant FPS loss in some cases. I implemented the technique discussed here: http://www.ananseproductions.com/game-loops-on-ios/

I'm open to any thoughts or suggestions, not sure if there's a better way we can get around having the DisplayLink's selector call Platform.Tick(), since whatever function CADisplayLink calls needs to be exported to ObjC.