任務排程器 會在遊戲運行時每一個框架完成任務,即使遊戲暫停。這些任務包括偵測玩家輸入、動畫角色、更新物理模擬和在 task.wait() 狀態中恢復腳本。
雖然可能有多個任務運行,但任務排程器可能會在以下情況下過載:
- 使用自訂角色裝備或輸入計畫。
- 自己動畫零件(而不是使用 Animator )。
- 依賴於精確的物理學。
- 定期複製對象。
框架
一個 框架 是在那裡完成工作的遊戲邏輯單位。每個框應能高效地執行任務,導致每秒更多 框 和更平滑的玩家體驗。
運行服務
要新增鏡頭到鏡頭的遊戲任務的最直接方法是通過以下成員的 RunService :
排程優先級
任務排程器會將任務分類並完成以下順序的任務。一些任務可能在框架中無法執行工作,而其他任務可能多次運行。

最佳實踐
若要建造高效的遊戲,請注意以下事項:
不要將功能連接到渲染步驟,除非絕對必要。: 只有必須在輸入後但先於渲染執行的任務才應該這麼執行,例如相機移動。對於嚴格控制訂單,請使用 BindToRenderStep() 而不是 PreRender 。
仔細管理物理狀態。: PreSimulation發生在 物理之前 ,而PostSimulation發生在 之後 。因此,影響物理狀態的遊戲邏輯應在 PreSimulation 中執行,例如設置零件的 Velocity。相反,使用物理狀態或反應的遊戲邏輯應在 PostSimulation 處理,例如閱讀零件的 Position 以偵測當它們進入定義區域時。
引擎 6D 變換應在預測模擬事件上進行。: 如果你沒有,Animators 將覆蓋下一個框架上的變更。即使沒有 Animator , PreSimulation 是在 Motor6D.Transform 應用到零件位置之前發射的最後一個 Luau 事件。