Dynamic Latency Input は XBOX コンソールでのみ利用可能です。この機能は PC では利用できず、そのため API は PC プラットフォームでは実装されていません。DLI 用の API は GameInput v.1 以降利用できなくなりましたが、基盤となる同期システムは引き続きサポートされているデバイスで利用できます。タイトルはその特定の呼び出しについて、将来の API バージョンから v.0 にキャストダウンすることでこれらの同期を提供することを選択できます。
Dynamic Latency Input の概要
DLI はコントローラーとゲームプラットフォーム間の同期システムです。ゲームの入力呼び出しパターンを評価し、入力呼び出しの直前に最新の入力を配信できるようにコントローラーの報告レートを調整します。以下は入力呼び出しを完了するために必要な主要コンポーネントです。- ボタンの報告と読み取り頻度を動的に調整できるコントローラー。
- 次の入力が必要な時期を予測するために、ゲームの入力読み取りパターンを監視する機能。
- これらのパターンを使用して、ゲームのニーズに合わせてコントローラーの報告を調整する機能。
DLI の精度
DLI はサポートされているデバイスが使用されているときに実行されます。次の入力読み取りがいつ発生するかをどの程度正確に予測できているかを監視します。この値は内部的な信頼度として保持されます。予測が一貫して外れている場合、信頼度が低くなりすぎ、DLI は自己無効化します。 信頼度値が低くなる最も一般的な理由は、動作が一貫していないことです。DLI は入力が一定のケイデンスで読み取られると仮定し、それに同期します。一部のゲームでは、DLI を上回るシミュレーションスレッドを使用したり、一貫性のない間隔で入力を読み取ったりします。これらのケースは DLI を混乱させ、同期できる安定したレートを見つけられないため、信頼度を下げます。DLI は 125 Hz のケイデンスに制限されています。それより高いケイデンスを試みると DLI は自己無効化します。
ヒントを使用して精度を向上させる
低い信頼度値を軽減し DLI を支援するために、入力が同期するタイミングを制御できるヒントをプラットフォームに送信します。SendInputSynchronizationHint を呼び出すと、DLI は入力読み取りのタイミングを無視し、ヒントの呼び出しに同期します。入力が遅れて到着しないようにするには、次のコードに示すように、各シミュレーションパスの最初の入力読み取りの直前にSendInputSynchronizationHint を使用します。
