我注意到,如果我尝试在
clock()
的 draw()
函数中使用 MTKView
,则时间会关闭大约 10 倍。
最小可重现示例:
在 Xcode 中创建一个新的 'Metal' 游戏模板。应该渲染旋转的彩色立方体的那个。然后,在每帧更新的
draw
方法中,添加行:
// Objective-C
printf("%f\n", (double)clock()/CLOCKS_PER_SEC);
// Swift
print(Double(clock())/Double(CLOCKS_PER_SEC))
构建并观察打印的数字和控制台。
问题:
数字以不规则且缓慢的速度增加(大约每秒 0.1 个),而不是稳定地每秒增加 1 个。
clock()
函数在与 Metal 游戏结合使用时会中断?我还可以使用什么来代替,例如,计算 Metal 中帧更新的时间步长?
研究:
关于将
clock()
与金属游戏一起使用,我可以找到零。