一般一秒30-60帧, 也就是程序每帧耗时需要在33ms以下
传统的游戏循环: 输入(控制器), 更新世界和逻辑, 输出(画面)
多线程游戏循环: 最简单的方法是让线程做自己的事情, 例如一个线程负责图形以外的计算..., 另一个线程负责渲染图形
多线程合作的时候渲染线程需要等待主线程的数据, 因此为了提高利用率最好借用流水线的思路, 让渲染线程比主线程慢一帧
多线程可能导致更高的输入延迟如下图: 第一帧进行了计算,...游戏可能内含多个时间
增量时间(deltatime): 游戏从上一帧起流逝的时间, 游戏中与速度有关的设计都应该用这个时间来计算....其中update是最重要的, 因为需要利用当前的增量时间(deltatime)来决定是否需要切换下一帧动画, 并按照当前游戏的状态决定是否需要切换到不同的动画上
更加复杂的动画应该用状态机来实现
将每帧的图像作为一张图片进行保存会产生很多读取和传输开销...同样按照坐标系基底变换的思路理解: 对物体的旋转相当于进行将原本的单位坐标系改为旋转后的坐标系, 因此我们只要手推xyz坐标轴旋转后的新坐标并以列向量的方式排列即可
注意这里的y轴的旋转角度发生了反向