这对我来说从来没有意义。我查看了 GLFW 和 Three.js 的示例以及 Cinder 的实现,其中实际上有以下评论:
将所有窗口标记为可以绘制;这真的只在第一次重要,以确保第一次 update() 在 draw() 之前触发
所有三个图书馆似乎都在这样做,我不明白为什么。更新从未在屏幕上绘制过的东西的 ie 位置真的没有意义吗?
这是我的循环的样子:
- 绘制(第一)帧
- 交换缓冲区
- 更新事件
- 动画(使用来自事件的输入),更新逻辑,...
- 从顶部开始
这个顺序对我来说更有意义,但也许我错过了一些东西。