![](/img/trans.png)
[英]iOS+OpenGL ES 2.0: Why are update() and glkView() not called by the GLKViewController?
[英]Difference between glkView:drawInRect: and glkViewControllerUpdate:? OpenGL ES 2 - iOS
在渲染循环中,这两种方法之间应该有什么区别?
苹果有这个说....
关于update()
关于drawInRect:
所以基本上,当我在视图控制器中创建一个GLKView时,该控制器就变成了这个,所以我正在并排查看这些方法。
我假设update()应该包含任何变换或其他逻辑。
首先,Apple正试图帮助您将时序与帧速率分离。 如果你的游戏总是设法在分配给一个帧的时间内绘制一个帧,那么这两个将以锁步方式发生。 但即使屏幕上出现大量物体并且帧速率稍微下降,您仍然会获得相同数量的更新,因此对象仍将以相同的速度移动。
第二,它们帮助您将代码分为模型 - 视图 - 控制器。 如何呈现您的对象应该与它们的行为方式分离。
所以你的更新应该进展到导致动画的任何东西,你的绘制应该呈现当前状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.