enumerasi D3D12_HEAP_TYPE (d3d12.h)
Menentukan jenis timbunan. Ketika penghuni, timbunan berada di kumpulan memori fisik tertentu dengan properti cache CPU tertentu.
Sintaks
typedef enum D3D12_HEAP_TYPE {
D3D12_HEAP_TYPE_DEFAULT = 1,
D3D12_HEAP_TYPE_UPLOAD = 2,
D3D12_HEAP_TYPE_READBACK = 3,
D3D12_HEAP_TYPE_CUSTOM = 4,
D3D12_HEAP_TYPE_GPU_UPLOAD
} ;
Konstanta
D3D12_HEAP_TYPE_DEFAULT Nilai: 1 Menentukan timbunan default. Jenis timbunan ini mengalami bandwidth terbanyak untuk GPU, tetapi tidak dapat menyediakan akses CPU. GPU dapat membaca dan menulis ke memori dari kumpulan ini, dan hambatan transisi sumber daya dapat diubah. Sebagian besar timbunan dan sumber daya diharapkan terletak di sini, dan biasanya diisi melalui sumber daya dalam tumpuk unggahan. |
D3D12_HEAP_TYPE_UPLOAD Nilai: 2 Menentukan timbunan yang digunakan untuk mengunggah. Jenis heap ini memiliki akses CPU yang dioptimalkan untuk diunggah ke GPU, tetapi tidak mengalami jumlah bandwidth maksimum untuk GPU. Jenis heap ini paling baik untuk data CPU-write-once, GPU-read-once; tetapi GPU-read-once lebih ketat dari yang diperlukan. GPU-read-once-or-from-cache adalah kasus penggunaan yang dapat diterima untuk data; tetapi penggunaan tersebut sulit dinilai karena desain dan ukuran cache GPU yang berbeda. Jika ragu, tetap pada definisi GPU-baca-sekali atau profilkan perbedaan pada banyak GPU antara menyalin data ke tumpukan _DEFAULT vs. membaca data dari tumpukan _UPLOAD. Sumber daya dalam timbunan ini harus dibuat dengan D3D12_RESOURCE_STATE_GENERIC_READ dan tidak dapat diubah dari ini. Alamat CPU untuk timbunan tersebut biasanya tidak efisien untuk pembacaan CPU. Berikut ini adalah penggunaan umum untuk timbunan _UPLOAD:
Berikut ini kemungkinan bukan penggunaan yang baik untuk timbunan _UPLOAD:
|
D3D12_HEAP_TYPE_READBACK Nilai: 3 Menentukan timbunan yang digunakan untuk membaca kembali. Jenis heap ini memiliki akses CPU yang dioptimalkan untuk membaca data kembali dari GPU, tetapi tidak mengalami jumlah bandwidth maksimum untuk GPU. Jenis heap ini paling baik untuk data GPU-write-once yang dapat dibaca CPU. Perilaku cache CPU adalah write-back, yang kondusif untuk beberapa pembacaan CPU sub-cache-line. Sumber daya dalam timbunan ini harus dibuat dengan D3D12_RESOURCE_STATE_COPY_DEST, dan tidak dapat diubah dari ini. |
D3D12_HEAP_TYPE_CUSTOM Nilai: 4 Menentukan timbunan kustom. Aplikasi dapat menentukan properti kumpulan memori dan cache CPU secara langsung, yang dapat berguna untuk pengoptimalan UMA, multi-mesin, multi-adaptor, atau kasus khusus lainnya. Untuk melakukannya, aplikasi diharapkan memahami arsitektur adaptor untuk membuat pilihan yang tepat. Untuk detail selengkapnya, lihat D3D12_FEATURE_ARCHITECTURE, D3D12_FEATURE_DATA_ARCHITECTURE, dan GetCustomHeapProperties. |
Keterangan
Enum ini digunakan oleh item API berikut:
Jenis tumpukan termasuk dalam dua kategori: jenis tumpukan abstrak, dan jenis tumpukan kustom.Berikut ini adalah jenis tumpukan abstrak:
- D3D12_HEAP_TYPE_DEFAULT
- D3D12_HEAP_TYPE_UPLOAD
- D3D12_HEAP_TYPE_READBACK
- D3D12_HEAP_TYPE_CUSTOM
Perhatikan bahwa tekstur (tidak seperti buffer) tidak boleh jenis heap UPLOAD atau READBACK.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d12.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk