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).