使用CADisplayLink强制重绘

时间:2011-05-20 01:31:19

标签: iphone opengl-es eaglview cadisplaylink

我目前正在使用CADisplayLink来展示一个效果很好的OpenGL动画。有时候,参数会发生变化,我需要立即重绘视图,并且不能等到CADisplayLink请求下一帧。如果我不这样做,我得到一个错误的框架在我的情况下看起来非常糟糕。

那么,如何在不干扰EAGLView内容的情况下强制重绘CADisplayLink

2 个答案:

答案 0 :(得分:0)

您的问题表明您将数据存储在视图中而不是数据对象中。您应该可以随时更改数据,并且视图应在需要显示时更新。将数据移动到模型对象,并在EAGLView请求时根据数据绘制CADisplayLink,而不是在数据更改时重绘自身。

答案 1 :(得分:0)

例如,如果您的CADisplayLink正在调用方法drawFrame,那么只需在需要时自己调用drawFrame。如果你不想,你没理由等待CADisplayLink。