我目前正在使用CADisplayLink
来展示一个效果很好的OpenGL动画。有时候,参数会发生变化,我需要立即重绘视图,并且不能等到CADisplayLink
请求下一帧。如果我不这样做,我得到一个错误的框架在我的情况下看起来非常糟糕。
那么,如何在不干扰EAGLView
内容的情况下强制重绘CADisplayLink
?
答案 0 :(得分:0)
您的问题表明您将数据存储在视图中而不是数据对象中。您应该可以随时更改数据,并且视图应在需要显示时更新。将数据移动到模型对象,并在EAGLView
请求时根据数据绘制CADisplayLink
,而不是在数据更改时重绘自身。
答案 1 :(得分:0)
例如,如果您的CADisplayLink正在调用方法drawFrame,那么只需在需要时自己调用drawFrame。如果你不想,你没理由等待CADisplayLink。