ID3DX10ThreadPump::P rocessDeviceWorkItems メソッド
作業項目は、読み込みと処理が完了した後にデバイスに設定します。 スレッド ポンプがリソースまたはシェーダーの読み込みと処理を完了すると、この API が呼び出されるまでキューに保持され、その時点で処理された項目がデバイスに設定されます。 これは、フレームごとにデバイスへのリソースのバインドに費やされる処理の量を制御するのに役立ちます。 「解説」を参照してください。
構文
HRESULT ProcessDeviceWorkItems(
[in] UINT iWorkItemCount
);
パラメーター
-
iWorkItemCount [in]
-
型: UINT
デバイスに設定する作業項目の数。 ProcessDeviceObjectCreation は、最大で iWorkItemCount オブジェクトを作成します。 iWorkItemCount オブジェクトを処理するのに十分な作業項目がキューにない場合、ProcessDeviceObjectCreation はキュー内の項目と同じ数のデバイス オブジェクトを作成します。
戻り値
型: HRESULT
戻り値は、「 Direct3D 10 リターン コード」に記載されている値の 1 つです。
注釈
この API を使用する方法の例として、ゲームの 1 つのレベルの終わりに近い段階にあり、次のレベルに向けてテクスチャ、シェーダー、その他のリソースの事前読み込みを開始するとします。 スレッド ポンプは、デバイスに設定する準備ができるまで、リソースとシェーダーの読み込み、展開、および処理を別のスレッドで開始し、その時点でキューに残します。 すべてのリソースとシェーダーを一度にデバイスに設定したくない場合があります。これは、ゲームのパフォーマンスが一時的に低下する可能性があるためです。 そのため、この API をフレームごとに 1 回呼び出して、各フレームのデバイスに少数の作業項目のみを設定し、複数のフレームにリソースをバインドする作業負荷を分散させ、ゲームのパフォーマンスが低下する可能性を最小限に抑えることができます。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください