共用方式為


ID3DX11ThreadPump 介面

注意

D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。

執行緒幫浦會以非同步方式執行工作。 其建立方式是呼叫 D3DX11CreateThreadPump。 有數個 API 會採用選擇性執行緒幫浦作為參數,例如 D3DX11CreateTextureFromFileD3DX11CompileFromFile;如果您將執行緒幫浦介面傳遞至這些 API,函式會在個別執行緒上以非同步方式執行。 特別是在多處理器電腦上,執行緒幫浦可以載入資源和處理資料,而不會明顯降低效能。

成員

ID3DX11ThreadPump介面繼承自IUnknown介面。 ID3DX11ThreadPump 也有下列類型的成員:

方法

ID3DX11ThreadPump介面具有這些方法。

方法 描述
AddWorkItem 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
將工作專案加入執行緒幫浦。
GetQueueStatus 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
取得執行緒幫浦內三個佇列中的每個專案數目。
GetWorkItemCount 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
取得執行緒幫浦中的工作專案數目。
ProcessDeviceWorkItems 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
在工作專案完成載入和處理之後,將工作專案設定為裝置。
PurgeAllItems 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
從執行緒幫浦清除所有工作專案。
WaitForAllItems 注意: D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已淘汰,且不支援 Windows 市集應用程式。
等候執行緒幫浦中的所有工作專案完成。

備註

使用執行緒幫浦

執行緒幫浦會使用下列三個步驟進程載入和處理資料:

  1. 使用 資料載入器載入和解壓縮資料。 資料載入器物件有三種方法,執行緒幫浦會在載入和解壓縮資料時于內部呼叫: ID3DX11DataLoader::LoadID3DX11DataLoader::D ecompressID3DX11DataLoader::D estroy。 這三個 API 的特定功能會根據所載入和解壓縮的資料類型而有所不同。 如果資料載入器介面是以自己的自訂格式定義,也可以繼承資料載入器介面,而且其 API 可以變更。
  2. 使用 資料處理者處理資料。 資料處理者物件有三種方法,執行緒幫浦會在處理資料時于內部呼叫: ID3DX11DataProcessor::P rocessID3DX11DataProcessor::CreateDeviceObjectID3DX11DataProcessor::D estroy。 處理資料的方式會根據資料類型而有所不同。 例如,如果資料是儲存為 JPEG 的紋理,則 ID3DX11DataProcessor::P rocess 會執行 JPEG 解壓縮以取得影像的原始影像位。 如果資料是著色器,則 ID3DX11DataProcessor::P rocess 會將 HLSL 編譯成位元組程式碼。 處理資料之後,將會針對該資料建立裝置物件, (ID3DX11DataProcessor::CreateDeviceObject) ,並將物件新增至裝置物件的佇列。 如果資料處理者介面是以自己的自訂格式定義,也可以繼承資料處理者介面,而且其 API 可以變更。
  3. 將裝置物件系結至裝置。 當應用程式呼叫 ID3DX11ThreadPump::P rocessDeviceWorkItems時,這會將裝置物件佇列中的指定物件數目系結至裝置時完成。

執行緒幫浦可用來以下列兩種方式之一載入資料:呼叫採用執行緒幫浦作為參數的 API,例如 D3DX11CreateTextureFromFileD3DX11CompileFromFile,或呼叫 ID3DX11ThreadPump::AddWorkItem。 在採用執行緒幫浦的 API 案例中,會在內部建立資料載入器和資料處理者。 在 AddWorkItem 的情況下,必須先事先建立資料載入器和資料處理者,然後傳遞至 AddWorkItem。 D3DX11 提供一組 API,可用來建立資料載入器和資料處理者,這些 API 具有載入和處理一般資料格式的功能。 針對自訂資料格式,必須繼承資料載入器和資料處理者介面,而且必須重新定義其方法。

執行緒幫浦物件佔用大量資源,因此通常每個應用程式只能建立一個資源。

規格需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 R2 [僅限桌面應用程式]
標頭
D3DX11core.h
程式庫
D3DX11.lib

另請參閱

D3DX 介面