Antarmuka ID3DX11ThreadPump

Catatan

Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.

Pompa utas menjalankan tugas secara asinkron. Ini dibuat dengan memanggil D3DX11CreateThreadPump. Ada beberapa API yang mengambil pompa utas opsional sebagai parameter, seperti D3DX11CreateTextureFromFile dan D3DX11CompileFromFile; jika Anda meneruskan antarmuka pompa utas ke API ini, fungsi akan dijalankan secara asinkron pada utas terpisah. Terutama pada mesin multiprosesor, pompa utas dapat memuat sumber daya dan memproses data tanpa penurunan performa yang nyata.

Anggota

Antarmuka ID3DX11ThreadPump mewarisi dari antarmuka IUnknown . ID3DX11ThreadPump juga memiliki jenis anggota berikut:

Metode

Antarmuka ID3DX11ThreadPump memiliki metode ini.

Metode Deskripsi
AddWorkItem Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Menambahkan item kerja ke pompa utas.
GetQueueStatus Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Mendapatkan jumlah item di masing-masing dari tiga antrean di dalam pompa utas.
GetWorkItemCount Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Mendapatkan jumlah item kerja di pompa utas.
ProcessDeviceWorkItems Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Mengatur item kerja ke perangkat setelah selesai memuat dan memproses.
PurgeAllItems Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Menghapus semua item kerja dari pompa utas.
WaitForAllItems Catatan: Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi untuk Windows 8 dan tidak didukung untuk aplikasi Windows Store.
Menunggu semua item kerja di pompa utas selesai.

Keterangan

Menggunakan Thread Pump

Pompa utas memuat dan memproses data menggunakan proses tiga langkah berikut:

  1. Muat dan dekompresi data dengan Pemuat Data. Objek pemuat data memiliki tiga metode yang akan dipanggil oleh pompa utas secara internal karena memuat dan mendekompresi data: ID3DX11DataLoader::Load, ID3DX11DataLoader::D ecompress, dan ID3DX11DataLoader::D estroy. Fungsionalitas khusus dari ketiga API ini berbeda tergantung pada jenis data yang dimuat dan didekompresi. Antarmuka pemuat data juga dapat diwariskan dan API-nya dapat diubah jika seseorang memuat file data yang ditentukan dalam format kustom seseorang.
  2. Memproses data dengan Prosesor Data. Objek prosesor data memiliki tiga metode yang akan dipanggil pompa utas secara internal karena memproses data: ID3DX11DataProcessor::P rocess, ID3DX11DataProcessor::CreateDeviceObject, dan ID3DX11DataProcessor::D estroy. Cara memproses data akan berbeda tergantung pada jenis data. Misalnya, jika data adalah tekstur yang disimpan sebagai JPEG, maka ID3DX11DataProcessor::P rocess akan melakukan dekompresi JPEG untuk mendapatkan bit gambar mentah gambar. Jika data adalah shader, id3DX11DataProcessor::P rocess akan mengkompilasi HLSL ke dalam bytecode. Setelah data diproses, objek perangkat akan dibuat untuk data tersebut (dengan ID3DX11DataProcessor::CreateDeviceObject) dan objek akan ditambahkan ke antrean objek perangkat. Antarmuka prosesor data juga dapat diwariskan dan API-nya dapat diubah jika seseorang memproses file data yang ditentukan dalam format kustom seseorang.
  3. Ikat objek perangkat ke perangkat. Ini dilakukan ketika aplikasi seseorang memanggil ID3DX11ThreadPump::P rocessDeviceWorkItems, yang akan mengikat sejumlah objek tertentu dalam antrean objek perangkat ke perangkat.

Pompa utas dapat digunakan untuk memuat data dengan salah satu dari dua cara: dengan memanggil API yang mengambil pompa utas sebagai parameter, seperti D3DX11CreateTextureFromFile dan D3DX11CompileFromFile, atau dengan memanggil ID3DX11ThreadPump::AddWorkItem. Dalam kasus API yang mengambil pompa utas, pemuat data dan prosesor data dibuat secara internal. Dalam kasus AddWorkItem, pemuat data dan prosesor data harus dibuat sebelumnya dan kemudian diteruskan ke AddWorkItem. D3DX11 menyediakan sekumpulan API untuk membuat pemuat data dan prosesor data yang memiliki fungsionalitas untuk memuat dan memproses format data umum. Untuk format data kustom, pemuat data dan antarmuka prosesor data harus diwariskan dan metodenya harus ditentukan ulang.

Objek pompa utas membutuhkan sejumlah besar sumber daya, jadi umumnya hanya satu yang harus dibuat per aplikasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 R2 [hanya aplikasi desktop]
Header
D3DX11core.h
Pustaka
D3DX11.lib

Lihat juga

Antarmuka D3DX