任务程序表 在游戏运行时,即使游戏暂停,都会为每个框架中完成的任务提供 coordination,包括检测玩家输入、动画角色、更新物理模拟和恢复脚本在wait()状态下。
虽然有多个任务正在运行,但任务调度器可能会过载,尤其是在以下情况下:
- 使用自定义角色或输入模式。
- 自动动画零件(而不是使用 Animator )。
- 受到精确物理的影响。
- 定期复制对象。
框架
框是游戏逻辑的单位,在这里工作完成。每个框架应高效地执行任务,导致更多 框 和更平滑的玩家体验。
运行服务
添加框架游戏任务的最直接方法是通过 RunService 的以下成员:
调度优先权
任务调度器按照以下顺序执行和完成任务。一些任务可能无法在框架中执行工作,而其他任务可能多次运行。
最佳实践
为了在有效率的前提下构建高性能游戏,请注意以下几点:
不要在渲染步骤中连接/绑定功能到 render 步骤,除非是绝对必要的。 只有在输入后才必须完成的任务才能用此方式完成,例如相机移动。为了有效地控制顺序,请使用 BindToRenderStep() 而不是 PreRender 。
尽可能减少等待脚本的数量。 避免使用 while wait() do end 或 while true do wait() end