タスクスケジューラーは、ゲームが停止されているときでも、各フレームで完了したタスクをコーディネートします。これには、プレイヤーの入力を検出、キャラクターのアニメーションを更新、物理シミュレーションを更新、およびスクリプトを再開するなどが含まれます。このタスクは、Global.RobloxGlobals.wait() 状態でスクリプ
複数のタスクが実行されている場合がありますが、タスクスケジューラーは、次の状況で特にオーバーロードされる可能性があります:
- カスタムキャラクターリグまたは入力スキームを使用する。
- 自分でパーツをアニメーションする ( Animator を使用することなく)。
- 精密な物理によって大きく左右されます。
- オブジェクトを定期的にレプリケートする。
フレーム
フレーム は、ゲームロジックのユニットで、ワークが完了します。各フレームは、タスクを効率的に実行し、毎秒より多くのフレームを実行し、よりスムーズなプレイヤーエクスペリエンスを実現する必要があります。
RunService
フレーム-フレームのゲームタスクを追加する最も直接な方法は、RunService の次のメンバーを通じてです:
スケジュール優先度
タスクスケジューラは、次の順序でタスクをカテゴリ化し、完了します。一部のタスクはフレームで実行できない場合があり、他のタスクは複数回実行できます。
ベストプラクティス
高性能なゲームを効率的に構築するには、フォロー中のことに注意してください:
必要ない場合は、レンダリングステップに関数を接続/バインドしないでください。 オプションのないタスクは、入力後、レンダリングする前に実行する必要があります。 オーダーの厳重な制御には、BindToRenderStep() を使用して、
待ちスクリプトの量を最小限に抑えます。 while wait() do end または while true do wait() end</