enumerazione D3D12_HEAP_TYPE (d3d12.h)
Specifica il tipo di heap. Quando risiede, gli heaps risiedono in un particolare pool di memoria fisica con determinate proprietà della cache della CPU.
Sintassi
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
} ;
Costanti
D3D12_HEAP_TYPE_DEFAULT Valore: 1 Specifica l'heap predefinito. Questo tipo di heap sperimenta la larghezza di banda più elevata per la GPU, ma non può fornire l'accesso alla CPU. La GPU può leggere e scrivere nella memoria da questo pool e le barriere di transizione delle risorse possono essere modificate. La maggior parte degli heaps e delle risorse è prevista qui e viene in genere popolata tramite risorse in heaps di caricamento. |
D3D12_HEAP_TYPE_UPLOAD Valore: 2 Specifica un heap usato per il caricamento. Questo tipo di heap ha accesso alla CPU ottimizzato per il caricamento nella GPU, ma non riscontra la quantità massima di larghezza di banda per la GPU. Questo tipo di heap è ideale per i dati di tipo CPU-write-once, GPU-read-once; ma la GPU-read-once è più restrittiva di quanto necessario. GPU-read-once-or-from-cache è un caso d'uso accettabile per i dati; ma tali usi sono difficili da giudicare a causa di progetti e dimensioni della cache GPU diversi. In caso di dubbio, attenersi alla definizione di lettura gpu o profilare la differenza tra molte GPU tra la copia dei dati in un heap _DEFAULT e la lettura dei dati da un heap _UPLOAD. Le risorse in questo heap devono essere create con D3D12_RESOURCE_STATE_GENERIC_READ e non possono essere modificate da questo. L'indirizzo della CPU per tali heaps in genere non è efficiente per le letture della CPU. Di seguito sono riportati gli usi tipici per _UPLOAD heaps:
È probabile che i seguenti usi non siano validi per _UPLOAD heaps:
|
D3D12_HEAP_TYPE_READBACK Valore: 3 Specifica un heap usato per la lettura. Questo tipo di heap ha l'accesso alla CPU ottimizzato per la lettura dei dati dalla GPU, ma non riscontra la quantità massima di larghezza di banda per la GPU. Questo tipo di heap è ideale per i dati leggibili della GPU-write-once, CPU.This heap type is best for GPU-write-once, CPU-leggibile data. Il comportamento della cache della CPU è di tipo writeback, che è favorevole a più letture della CPU della cache secondaria. Le risorse in questo heap devono essere create con D3D12_RESOURCE_STATE_COPY_DEST e non possono essere modificate da questo. |
D3D12_HEAP_TYPE_CUSTOM Valore: 4 Specifica un heap personalizzato. L'applicazione può specificare direttamente le proprietà del pool di memoria e della cache DELLA CPU, che possono essere utili per ottimizzazioni UMA, multi-engine, multi-adapter o altri casi speciali. A tale scopo, l'applicazione dovrebbe comprendere l'architettura dell'adattatore per fare la scelta giusta. Per altre informazioni, vedere D3D12_FEATURE_ARCHITECTURE, D3D12_FEATURE_DATA_ARCHITECTURE e GetCustomHeapProperties. |
Commenti
Questa enumerazione viene usata dagli elementi dell'API seguenti:
I tipi heap rientrano in due categorie: tipi heap astratti e tipi heap personalizzati.Di seguito sono riportati tipi di heap astratti:
- D3D12_HEAP_TYPE_DEFAULT
- D3D12_HEAP_TYPE_UPLOAD
- D3D12_HEAP_TYPE_READBACK
- D3D12_HEAP_TYPE_CUSTOM
Si noti che le trame (a differenza dei buffer) non possono essere di tipo heap UPLOAD o READBACK.
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3d12.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per