CVDisplayLink而不是NSTimer

Opt*_*key 8 opengl cocoa objective-c

我已经开始实现cvDisplayLink来驱动渲染循环而不是nstimer,详见本技术说明https://developer.apple.com/library/archive/qa/qa1385/_index.html

在displaylink回调本身中进行实际渲染是否更好,或者我应该在视图上调用setNeedsDisplay并让主线程进行渲染?

为了直接在回调中呈现,我需要锁定opengl上下文,这是我希望避免的.

是否可以使用cvDisplayLink进行计时并仍然在主线程上呈现?

提前感谢任何反馈......

Ben*_*itz 3

\xe2\x80\x99s 锁定上下文没有内在问题;它应该是无争议的并且可以快速解锁。在主线程上重绘 via -setNeedsDisplay:,有可能因为运行循环往返而错过 VBL 窗口。

\n