Pia の各機能の処理はジョブによって行われるため、ジョブ処理を進めるために、スケジューラのディスパッチ関数 nn::pia::common::Scheduler::Dispatch() を呼ぶ必要があります。
通常、1 ゲームフレームに 1 回または 2 回の頻度で呼び出します。アクションゲームでは通信遅延を低減するために、ゲームの通信処理の前後に 1 回ずつ、計 2 回 nn::pia::common::Scheduler::Dispatch() を呼び出すことを推奨します。 前後で呼び出すことで直前の受信をゲーム処理に反映させることができ、ゲーム処理の結果を直後に送信することができます。
nn::pia::common::Scheduler::CreateInstance();
nn::pia::common::Scheduler::GetInstance()->Dispatch(); |
Dispatch() の引数にタイムアウト時間を指定することができますが、必ずその時間以下に収まることを保証するものではありません。
ジョブの一部はバックグラウンドスレッド(スケジューラが管理する内部スレッド)で処理されます。そのため、Scheduler のインスタンスを作成してからインスタンスを破棄するまで、スレッドを一つ消費します。