我目前正在使用CADisplayLink来展示一个OpenGL动画,效果非常好。然而,有时参数发生变化,我需要立即重画视图,而不能等到CADisplayLink请求下一帧。如果我不这样做,我会得到一个错误的帧,这在我的情况下看起来非常糟糕。
那么,如何在不干扰CADisplayLink的情况下强制重画EAGLView呢?
发布于 2011-07-27 15:11:01
例如,如果您的CADisplayLink正在调用方法drawFrame,那么在需要的时候只需自己调用drawFrame即可。如果你不想,你没有理由需要等待CADisplayLink。
发布于 2011-05-20 09:37:39
您的问题表明您将数据存储在视图中,而不是数据对象中。您应该能够随时更改您的数据,并且您的视图应该在需要显示时进行更新。将数据移动到模型对象,并在从CADisplayLink请求数据时让EAGLView根据数据绘制自身,而不是在数据更改时重新绘制自身。
https://stackoverflow.com/questions/6066603
复制相似问题