0

Is there any way to find out why CADisplayLink is running at 30fps, when given a "1" as its frame interval?

I was running the app on an iPad mini. When ran as an iPhone app inside the iPad mini (using that mode with the 2x button thing), it ran silky smooth (60fps). However, running as a universal app on the iPad mini yields 30fps max, even when it's drawing nothing.

What could have caused this? It did call [displayLink setFrameInterval: 1], so that can't be it.. right?

genpfault
  • 51,148
  • 11
  • 85
  • 139
kamziro
  • 7,882
  • 9
  • 55
  • 78
  • You sure there isn't anything running in a background thread, or another timer that could be occupying the main thread at points? When you run Time Profiler against your application, do you see anything show up that could be chewing up processor cycles? – Brad Larson Nov 03 '12 at 23:01
  • Definitely none, because I ran the same thing (under retina resolution) as an iPhone only project, on the iPad. It ran at 60fps, and nothing was changed. And the 30fps seemed to be a really set limit.. still waiting answers from the official apple forums. – kamziro Nov 04 '12 at 17:00

1 Answers1

0

Well, it turns out that using GLKit stuff instead of CADisplayLink (GLKView, GLKViewDelegate) with preferredFrameRate solved the issue. I just had to reimplement things, but it seems to be doing the trick.

I guess it must be a CADisplayLink bug.

kamziro
  • 7,882
  • 9
  • 55
  • 78