任务程序表

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

任务程序表 在游戏运行时,即使游戏暂停,都会为每个框架中完成的任务提供 coordination,包括检测玩家输入、动画角色、更新物理模拟和恢复脚本在wait()状态下。

虽然有多个任务正在运行,但任务调度器可能会过载,尤其是在以下情况下:

  • 使用自定义角色或输入模式。
  • 自动动画零件(而不是使用 Animator )。
  • 受到精确物理的影响。
  • 定期复制对象。

框架

框是游戏逻辑的单位,在这里工作完成。每个框架应高效地执行任务,导致更多 和更平滑的玩家体验。

运行服务

添加框架游戏任务的最直接方法是通过 RunService 的以下成员:

调度优先权

任务调度器按照以下顺序执行和完成任务。一些任务可能无法在框架中执行工作,而其他任务可能多次运行。

最佳实践

为了在有效率的前提下构建高性能游戏,请注意以下几点:

  • 不要在渲染步骤中连接/绑定功能到 render 步骤,除非是绝对必要的。 只有在输入后才必须完成的任务才能用此方式完成,例如相机移动。为了有效地控制顺序,请使用 BindToRenderStep() 而不是 PreRender

  • 尽可能减少等待脚本的数量。 避免使用 while wait() do endwhile true do wait() end

  • 对Motor6D变形应在预仿真事件上进行。 如果您未做出,Animators 将覆盖下一个框架上的更改。 即使没有Animator,0> Class.RunService.PreSimulation|PreSimulation</