使用 CADisplayLink 强制重绘



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

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

例如,如果您的CADisplayLink正在调用方法drawFrame,那么只需在需要时调用drawFrame即可。如果您不想,则无需等待CADisplayLink。

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

相关内容

  • 没有找到相关文章

最新更新