0

为了在 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 - 不适合我。

谢谢你。

4

0 回答 0