ID3DX11ThreadPump::ProcessDeviceWorkItems
作業項目が読み込みと処理を終了した後、作業項目をデバイスに設定します。
HRESULT
ProcessDeviceWorkItems(
UINT iWorkItemCount
);
パラメータ
- iWorkItemCount
デバイスに設定する作業項目の数です。
戻り値
戻り値は、「Direct3D 11 のリターン コード」に示すいずれかの値です。
解説
スレッド ポンプがリソースまたはシェーダーの読み込みと処理を終了すると、この API が呼び出されるまで、そのリソースまたはシェーダーをキュー内に保持します。この API が呼び出された時点で、処理された項目がデバイスに設定されます。これは、フレームごとにリソースをデバイスにバインドする際の処理量を制御するのに役立ちます。
この API の使用例として、ゲームで 1 つのレベルの終わりに近づいていて、次のレベルに向けてテクスチャー、シェーダー、およびその他のリソースの事前読み込みを開始する必要があるとします。スレッド ポンプはリソースおよびシェーダーの読み込み、圧縮解除、および処理を別個のスレッドで開始し、それらをデバイスに設定できるように準備します。この時点では、スレッド ポンプはリソースおよびシェーダーをキューに入れたままです。すべてのリソースおよびシェーダーを一度にデバイスに設定したくない場合があります。一度に設定すると、ゲームのパフォーマンスが一時的に著しく低下する可能性があるためです。そのため、この API をフレームごとに 1 回呼び出して、各フレームで少数の作業項目のみがデバイスに設定されるようにすることができます。これにより、リソースをデバイスにバインドする際の負荷が複数のフレームに分散されます。
要件
ヘッダー: D3DX11core.h 宣言
ライブラリ: D3DX11.lib 内容