Mac用のopenglアプリでメインループを作成するために、NSTimerを使用しています:
[NSTimer scheduledTimerWithTimeInterval:.001
target:view
selector:@selector(render:)
userInfo:nil
repeats:YES];
しかし、v-sync を有効にしようとすると:
GLint vsync=0;
[[view openGLContext] setValues:&vsync forParameter:NSOpenGLCPSwapInterval];
私のタイマーは自動的に 60fps の速度に切り替わります。描画 (swapbuffer、glFinish など) には適していますが、プログラムの一部のプロセスでは高速が必要です。どうにかしてタイマーの vsync を無視できますか? 2 つのタイマーが必要です。1 つは 60 fps での描画用、もう 1 つは最大 fps のループ用です。出来ますか?
ps DisplayLink - 私にとっては機能しません。
ありがとうございました。