为了在 Mac 的 opengl 应用程序中创建 mainloop,我使用 NSTimer:
[NSTimer scheduledTimerWithTimeInterval:.001
target:view
selector:@selector(render:)
userInfo:nil
repeats:YES];
但是如果我尝试启用垂直同步:
GLint vsync=0;
[[view openGLContext] setValues:&vsync forParameter:NSOpenGLCPSwapInterval];
我的计时器自动切换到 60fps 速度。这对绘图很有用(swapbuffer、glFinish 等),但我程序中的某些进程需要更高的速度。我可以以某种方式忽略计时器的 vsync 吗?我需要两个计时器——一个用于以 60 fps 进行绘图,第二个用于以最大 fps 进行循环。可能吗?
ps DisplayLink - 不适合我。
谢谢你。