Guida alla programmazione per Direct3D 12
Direct3D 12 offre un'API e una piattaforma che consente alle app di sfruttare le funzionalità grafiche e di calcolo dei PC dotati di una o più GPU compatibili con Direct3D 12.
Contenuto della sezione
Argomento | Descrizione |
---|---|
Cos'è Direct3D 12? | DirectX 12 introduce la versione successiva di Direct3D, l'API grafica 3D al centro di DirectX. Questa versione di Direct3D è più veloce e più efficiente di qualsiasi versione precedente. Direct3D 12 consente scene più ricche, più oggetti, effetti più complessi e l'utilizzo completo dell'hardware GPU moderno. |
Novità di Direct3D 12 | Descrive la nuova documentazione più significativa disponibile con la versione più recente dell'SDK. |
Informazioni su Direct3D 12 | Per scrivere giochi e app 3D per Windows 10 e Windows 10 Mobile, è necessario comprendere le nozioni di base della tecnologia Direct3D 12 e come prepararsi a usarlo nei giochi e nelle app. |
Invio di lavoro in Direct3D 12 | Per migliorare l'efficienza della CPU delle app Direct3D, Direct3D 12 non supporta più un contesto immediato associato a un dispositivo. Invece, le app registrano e quindi inviano elenchi di comandi, che contengono chiamate di disegno e gestione delle risorse. Questi elenchi di comandi possono essere inviati da più thread a una o più code di comandi, che gestiscono l'esecuzione dei comandi. Questa modifica fondamentale aumenta l'efficienza a thread singolo consentendo alle app di pre-calcolo il lavoro di rendering per un uso successivo e sfrutta i sistemi multi-core distribuendo il lavoro di rendering tra più thread. |
Binding delle risorse in Direct3D 12 | L'associazione è il processo di collegamento di oggetti risorsa agli shader della pipeline grafica. |
Gestione della memoria in Direct3D 12 | Il passaggio a D3D12 comporta la corretta sincronizzazione e la gestione della residenza della memoria. La gestione della residenza della memoria significa che è necessario eseguire ancora di più la sincronizzazione. Questa sezione illustra le strategie di gestione della memoria e la sottolocazione all'interno di heaps e buffer. |
Sistemi multi-adapter | Descrive il supporto in Direct3D 12 per i sistemi che dispongono di più schede installate, coprendo scenari in cui l'applicazione è destinata in modo esplicito a più schede GPU e scenari in cui i driver usano implicitamente più schede GPU per conto dell'applicazione. |
Sincronizzazione multi-motore | Questo argomento illustra la sincronizzazione dell'accesso ai più motori indipendenti trovati nelle GPU più moderne. |
Rendering | Questa sezione contiene informazioni sulle funzionalità di rendering nuove a Direct3D 12 (e Direct3D 11.3). |
Contatori, query e misurazione delle prestazioni | Le sezioni seguenti descrivono le funzionalità da usare nei test delle prestazioni e nel miglioramento, ad esempio query, contatori, tempi e predicazione. |
Uso di Direct3D 11, Direct3D 10 e Direct2D | Questa sezione illustra le tecniche di interoperabilità con le versioni precedenti di Direct3D e Direct2D, l'API Direct3D 11on12 e le linee guida di conversione da Direct3D 11 a Direct3D 12. |
Esempi di lavoro | Gli esempi di lavoro sono disponibili per il download, che mostra l'utilizzo di numerose funzionalità di Direct3D 12. |
Procedura dettagliata del codice D3D12 | Questa sezione fornisce il codice per scenari di esempio. Molte delle procedure dettagliate forniscono informazioni dettagliate sul codice da aggiungere a un esempio di base, per evitare di ripetere il codice del componente di base per ogni scenario. |
Debug e diagnostica con Direct3D 12 | Include argomenti che descrivono come usare al meglio il livello di debug Direct3D 12 con convalida basata su GPU (GBV) e come usare Device Removed Extended Data (DRED). |