似乎是随机的(但在任何给定的程序运行期间通常是一致的),我的presentRenderBuffer
调用非常慢。我把它追踪到了一个调用glFlush()
,presentRenderBuffer
所以现在我glFlush()
在 presentRenderBuffer 之前调用。我放了一个计时器glFlush()
,它会做两件事之一,似乎是随机的。
glFlush()
任何一个
1) 始终需要 0.0003 秒
或者
2) 在大约 0.019 和 0.030 秒之间交替
最奇怪的是,这与绘图代码无关。即使我注释掉所有绘图代码以便它所做的只是调用glClear()
,我仍然只是随机获得两个结果之一。
绘图方法由CADisplayLink
具有以下设置的 an 调用:
dLink = [[UIScreen mainScreen] displayLinkWithTarget:viewController selector:@selector(drawFrame)];
dLink.frameInterval = 1;
[dLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
我发现无法确定导致其中一个结果发生的原因。任何人都可以提供想法吗?