views:

235

answers:

1

I have started to implement cvDisplayLink to drive the render loop instead of nstimer, as detailed in this technical note http://developer.apple.com/mac/library/qa/qa2004/qa1385.html

Is it better to do the actual rendering within the displaylink callback itself, or should I instead call setNeedsDisplay on the view and let the main thread do the rendering?

In order to render directly in the callback, I need to lock the opengl context, which I was hoping to avoid.

Is it possible to use cvDisplayLink for timing and still render on the main thread?

Thanks in advance for any feedback....

+1  A: 

There’s no intrinsic problem with locking the context; it should be uncontended and unlock quickly. Redrawing on the main thread, via -setNeedsDisplay:, has a chance of missing the VBL window just because of the runloop round-trip.

Ben Stiglitz