我正在为一个大学项目开发一个多弹模拟器,我想知道如何最好地设置 JavaScript 渲染到 HTML5 画布的时间
我正在使用 Euler 积分器设置进行物理和精度对于这个项目非常重要。渲染非常简单
我的问题是如何最好地设置所有这一切的时间。
现在我有:
- 在使用 setTimeout() 以固定时间步长循环的函数中运行的物理和其他逻辑
- 使用 requestAnimationFrame() 调用循环的另一个函数中的渲染(灵活的时间步长)
这两个循环同时运行(我知道 JavaScript 并不真正支持没有 Web Worker 的线程),但我不希望渲染(当前运行的 FPS 比需要的高得多)不必要地“窃取” CPU 周期物理模拟,如果你明白我的意思。
鉴于物理精度在这里最重要,您如何建议设置计时系统?(也许在这里使用 Web Workers 会很有用,但我还没有看到它在其他引擎中使用过)
谢谢!