Pro e contro di DirectX 12. DX11 e DX12: c'è differenza tra loro? Banco di prova, metodologia di prova

La tecnologia appartiene al futuro: tanti miglioramenti sono stati incorporati nella nuova interfaccia di programmazione. Direct3D 12 (e la sua controparte multipiattaforma Vulkan) consente al motore di gioco di gestire in modo più efficiente le risorse GPU gestendo direttamente le attività che nelle precedenti iterazioni dell'API venivano eseguite dal driver o dalle stesse librerie Direct3D. Le GPU moderne supportano completamente le funzionalità di rendering Direct3D 12 e forniscono un'integrazione perfetta della grafica con l'elaborazione generica (chiamata elaborazione asincrona).

Ma in pratica, le API di nuova generazione sono ancora lontane dal realizzare il loro pieno potenziale. Non abbelliamo il quadro emerso nella prima parte del test delle schede video in Direct3D 12 e Vulkan. In effetti, solo due dei giochi che usiamo regolarmente come benchmark GPU hanno mostrato cosa può fare il nuovo software con il giusto impegno da parte degli sviluppatori: stiamo parlando di Ashes of the Singularity e DOOM. In altri test, quando si modifica l'API, si può contare, nella migliore delle ipotesi, su un moderato aumento delle prestazioni, e quindi con molte riserve.

Pertanto, tra le ultime generazioni di processori grafici, solo i grandi chip AMD - Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) e Vega (Radeon RX Vega 64) - hanno mostrato maggiore simpatia per Direct3D 12. Per quanto riguarda le prestazioni del ammiraglia Schede video NVIDIA(GeForce GTX 1080 Ti) l'interfaccia software in media non ha alcun effetto e altri processori "verdi" hanno prestazioni peggiori rispetto a quella vecchia. Alla fine, Microsoft ha involontariamente rilasciato un segno nero sui chip con architettura Kepler e Maxwell, che, a quanto pare, non otterranno mai il pieno supporto nei motori di gioco per Direct3D 12.

La debolezza della nuova generazione di API è il rovescio della medaglia della loro forza: le “sottili” librerie Direct3D 12 hanno trasferito molte funzioni agli sviluppatori di motori di gioco, e l’implementazione delle necessarie tecniche di programmazione nei software tradizionali è in ritardo. Non è sorprendente, perché in computer da gioco Ci sono ancora molte schede video che, nella migliore delle ipotesi, sono solo formalmente compatibili con Direct3D 12 e Vulkan, quindi una potente ottimizzazione dei giochi per le nuove API può essere osservata solo in singoli progetti basati sui propri motori.

API grafiche e dipendenza dalla CPU

Tuttavia, alcune delle funzionalità di Direct3D 12 e Vulkan non richiedono molto impegno da parte degli sviluppatori di giochi. La struttura stessa della pipeline di queste API consente di ridurre il carico sul processore centrale riducendo il tempo di preparazione della chiamata di disegno, cosa particolarmente importante quando sullo schermo sono presenti molti modelli individuali [nota: Draw call è un comando che richiede la creazione di una singola mesh poligonale].

Questo problema è stato notato per la prima volta da AMD e DICE, i creatori dell'interfaccia proprietaria Mantle di basso livello. Il primo titolo a supportare Mantle è stato Battlefield 4, ma nel 2014 la grafica del gioco non era così ricca di geometrie che la CPU avrebbe limitato il frame rate su un sistema bilanciato. Anche un anno dopo, siamo giunti alla conclusione (vedi il nostro test sulle dipendenze della CPU) che qualsiasi modern Processore Intel con quattro core rivela il potenziale delle migliori GPU dell'epoca.

Ma negli ultimi tempi la situazione è cambiata: i giochi sono diventati più complessi e le GPU sono aumentate in modo esponenziale potenza di calcolo. Le CPU, al contrario, si stanno sviluppando piuttosto lentamente in termini di prestazioni a thread singolo e il quinto, sesto, settimo e così via i core vengono utilizzati raramente nei giochi. Molti giocatori sono passati da un processore dual-core a un processore quad-core con l'aspettativa di non cambiarlo per molti anni, quindi ora la questione della dipendenza dal processore è diventata di nuovo rilevante.

L’esempio più sorprendente, anche se piuttosto esotico, è la strategia Ashes of the Singularity. Il suo motore, proprio grazie al rapido ritorno della draw call, aumenta notevolmente le sue prestazioni sotto Direct3D 12 e Vulkan, anche con un potente processore centrale. Ma il nostro metodo include anche altri giochi con una geometria ricca. Questa volta effettueremo il test su una piattaforma con quattro core e una frequenza della CPU ridotta, per poi confrontare i risultati con quanto ottenuto in precedenza utilizzando un processore ad alte prestazioni.

Nella parte precedente del test, il processore del nostro banco di prova, Core i7-5960X, funzionava ad una frequenza costante di 4 GHz con otto core attivi. Per simulare una CPU più debole, abbiamo disabilitato metà dei core e installato frequenza dell'orologio a circa 2,5 GHz.

Ad essere onesti, questa non è una configurazione molto realistica per le moderne CPU Intel (anche i modelli Core i5 più giovani delle generazioni Caby Lake e Coffee Lake richiedono più alte frequenze con quattro core a pieno carico), ma è abbastanza coerente con alcuni modelli delle generazioni precedenti. 1,5 GHz è una differenza adeguata per mostrare chiaramente la connessione tra la versione dell'API grafica e la dipendenza dal processore, e lasciare che la misurazione dei frame rate sull'intera gamma dei moderni modelli di CPU rimanga un compito per la parte successiva della nostra serie "Dipendenza dal processore".

D'altra parte, non siamo andati abbastanza lontano da lasciare due nuclei attivi. Non c'è più posto per un processore del genere in un moderno PC domestico e alcuni giochi semplicemente non funzioneranno correttamente su due core.

Sulla base dei risultati dei primi test, abbiamo squalificato diverse schede video dai partecipanti, principalmente la GeForce GTX 970 e GTX 980 Ti, che non sono adatte per i giochi con Direct3D 12 e Vulkan a causa delle caratteristiche architettoniche. Inoltre, sono stati esclusi i titoli di gioco economici. Schede video Radeon RX 560 e GeForce GTX 1050 Ti: semplicemente non hanno GPU abbastanza potenti affinché l'ottimizzazione delle API possa svolgere un ruolo importante anche su una piattaforma debole.

Infine, abbiamo riscontrato diversi errori nei risultati dei test della prima parte dell'articolo e presenteremo tutti i dati (sia con una CPU forte che con una CPU debole) in grafici e tabelle riassuntive. Per garantire un confronto equo, i nuovi risultati sono stati ottenuti utilizzando le stesse versioni di driver (Radeon Software Crimson Adrenalin Edition 18.1.1 e GeForce Game Ready Driver 390.65) che abbiamo utilizzato l'ultima volta. I driver sono piuttosto vecchi, ma se ripetessimo i test versioni attuali, ciò non avrebbe influenzato i risultati in modo significativo. Dopotutto, il più recente dei giochi selezionati è stato rilasciato nel settembre dello scorso anno e i driver contengono già ottimizzazioni per tutti. Negli ultimi tempi, i produttori di GPU non hanno apportato modifiche globali al software in grado di migliorare le prestazioni complessive.

Banco di prova, metodologia di prova

Configurazione banco prova
processore Intel Core i7-5960X (4 core a 2,5 GHz, frequenza costante)
Intel Core i7-5960X (8 core a 4,0 GHz, frequenza costante)
Scheda madre ASUS RAMPAGE V ESTREMO
RAM Corsair Vengeance LPX, 2133 MHz, 4×4 GB
rom SSD Intel 520 da 240 GB + Crucial M550 da 512 GB
alimentatore Corsair AX1200i, 1200 W
Sistema di raffreddamento della CPU Arconte del diritto termico
Telaio Banco di prova CoolerMaster V1.0
Tenere sotto controllo NEC EA244UHD
sistema operativo Windows 10 Prox64
Software per GPU AMD
Tutte le schede video Radeon Software Crimson Adrenalin Edizione 18.1.1
Software GPU NVIDIA
Tutte le schede video Driver GeForce Game Ready 390.65
Benchmark: giochi
Gioco (in ordine di data di rilascio) API Impostazioni, metodo di test Antialiasing a schermo intero
1920×1080 / 2560×1440 3840×2160
Ascesa di la tomba Raider DirectX11/12 Massimo. qualità, VXAO disattivato Punto di riferimento integrato Spento
La Divisione di Tom Clancy DirectX11/12 Massimo. qualità, HFTS disattivato Punto di riferimento integrato SMAA 1x Ultra + TAA: supercampionamento TAA: stabilizzazione
DESTINO OpenGL 4.5/Vulkan Massimo. qualità. Missione della fonderia TSSAA8TX Spento
Deus Ex: L'umanità divisa DirectX11/12 Massimo. qualità. Punto di riferimento integrato Spento
Campo di battaglia 1 DirectX11/12 Massimo. qualità. OCAT, inizio della missione Over the Top TAAA
Ceneri della Singolarità: Escalation DirectX 11/12/Vulkan Spento
Total War: WARHAMMER II, punto di riferimento integrato DirectX11/12 Massimo. qualità. Benchmark integrato (Benchmark della battaglia) Spento

La clip di prova includeva sette giochi del 2016-2017, di cui sei supportano l'API Direct3D 12 e due supportano Vulkan. È noto per certo che tutti, in un modo o nell'altro, utilizzano la funzione Multi-Engine (“calcoli asincroni”). E qualche parola su DOOM. Questo gioco utilizza le cosiddette funzioni intrinseche Shader: shader che vengono eseguiti direttamente sulla GPU dell'architettura selezionata, bypassando la fase di compilazione dal codice di alto livello. Solo Vulkan, a differenza di OpenGL e Direct3D di qualsiasi versione, offre questa opportunità e solo AMD ha rilasciato un'estensione corrispondente per Vulkan. NVIDIA ha anche i propri Shader Intrinsics, ma sono disponibili solo tramite l'interfaccia proprietaria NVAPI o le librerie GameWorks. Questo è il motivo per cui Vulkan in DOOM ha apportato un potente incremento di prestazioni alle GPU AMD, sebbene neanche i chip NVIDIA si siano offesi.

Già il 29, con l'uscita Windows 10, sarà disponibile una nuova versione DirectX, che promette di aumentare le prestazioni nei giochi e altro ancora. A differenza di DirectX 11, non sarà necessario acquistare una nuova scheda video, il che è una buona notizia. DirectX12 promette di funzionare su molti dispositivi: smartphone, tablet, laptop, computer personale E Xbox Uno. Per quest'ultimo, la stessa Microsoft prevede un aumento delle prestazioni, anche rispetto a PS4.

Cos'è DirectX?

« DirectX(dall'inglese diretto- diretto, immediato) è un insieme di API progettate per risolvere problemi legati alla programmazione sotto finestre. Più ampiamente utilizzato nella scrittura di giochi per computer. Kit di sviluppo DirectX per finestre disponibile gratuitamente sul sito Microsoft. Spesso aggiornato Versioni DirectX fornito con applicazioni di gioco." (c)Wikipedia

  • DirectX 6.0 - multitexturing
  • DirectX 7.0: supporto hardware per trasformazioni, ritaglio e illuminazione
  • DirectX 8.0 - modello shader 1.1
  • DirectX 8.1 - Pixel Shader 1.4 e Vertex Shader 1.1
  • DirectX 9.0 - modello shader 2.0
  • DirectX 9.0b - Pixel Shader 2.0b e Vertex Shader 2.0
  • DirectX 9.0c - modello shader 3.0
  • DirectX 9.0L - versione di DirectX 9.0 per Windows Vista
  • DirectX 10 - modello shader 4.0
  • DirectX 10.1 - modello shader 4.1
  • DirectX 11 - modello shader 5.0
  • DirectX 11.1 – molti miglioramenti, inclusa una maggiore flessibilità del codice e protezione contro i buffer overflow
  • DirectX 11.2: vari miglioramenti, tra cui la riduzione del tempo di input e il miglioramento della qualità del rendering utilizzando le mappe delle texture
  • DirectX 11.3 è un'alternativa a DirectX 12, ma senza l'API di basso livello

  • Novità di DirectX 12

    Accesso di basso livello
    Da prima DirectX conquistato il mercato Microsoft mirava alla versatilità del software e non forniva agli sviluppatori l'accesso diretto alle funzioni di basso livello della scheda video. Ma ora, grazie alle nuove procedure di convocazione, l'accesso ad essi è aperto. Ma se gli sviluppatori non utilizzano le innovazioni, i conducenti saranno in grado di ottimizzare automaticamente il loro utilizzo per risolvere problemi standard.

    Ottimizzazione multi-thread e scarico della CPU
    Nel marzo 2014 è stata rilasciata una grande (a quel tempo) nuova versione dell'API. L'argomento principale era l'ottimizzazione dell'utilizzo processore e come esempio sono stati mostrati i risultati del test della velocità di uscita del frame nel benchmark 3DMark. Nello screenshot qui sotto puoi vedere una riduzione della velocità di visualizzazione del fotogramma di due (!) volte grazie all'ottimizzazione dell'uso di only processore e una distribuzione più “intelligente” delle risorse tra i nuclei.


    Anche il funzionamento dei processori con più di quattro core è stato ottimizzato. Se prima non aveva senso pagare più del dovuto per core aggiuntivi se il processore veniva acquistato per i giochi, ora tutto è cambiato.

    DirectX11:


    DirectX12:


    Utilizzo di più GPU
    La vacanza è arrivata per i giocatori che hanno un core video integrato nei loro processori, ma non una scheda video discreta molto potente. DirectX12 consentirà non solo alle schede video con tecnologie di funzionare contemporaneamente SLI O Fuoco incrociato, ma anche ai bundle “discreti + integrati”.


    Circolano voci sulla combinazione di schede video discrete di diversi produttori in bundle, ma non ci sono prove di ciò e sappiamo come Nvidia non gli piacciono tali decisioni.


    Ma ci sono buone notizie per i proprietari di collegamenti famosi. Le schede video funzionano simultaneamente, anziché una alla volta, e la memoria video delle tue schede video viene riassunta. Ora multi-GPU i sistemi hanno un buffer separato, dove è disponibile tutta la memoria della scheda video, e non condivisa, come prima.



    DirectX 12 e GPU integrate di fascia bassa
    Prestazioni migliorate, proprio come te DirectX12, sarà disponibile non solo su stazioni di gioco ultramoderne, ma anche per soluzioni embedded relativamente deboli. Secondo i test effettuati su Superficie Pro3 con processore Nucleo i5 con un nucleo video integrato Scheda grafica Intel HD 4400, la produttività è aumentata del 50%. Tutto grazie ad un utilizzo più intelligente GPU.


    Sfruttare tutto il potenziale di eSRAM (solo Xbox One)
    eSRAM– memoria speciale ad alta velocità utilizzata in GPU Xbox Uno. In precedenza, per la gestione veniva utilizzata un'API speciale, ma ora, con il rilascio DirectX12, tutto è controllato da un'API: DirectX. Questo miglioramento promette un aumento della velocità della memoria e un suo utilizzo più efficiente. Ciò probabilmente aiuterà a ridurre, e forse anche a eliminare, il ritardo PS4.


    Retrocompatibile con le schede video DirectX 11
    Le schede video più moderne che supportano DirectX11, pienamente compatibile con DirectX12. Ma sfortunatamente non tutti potranno utilizzare tutte le innovazioni della nuova API.


    Requisiti obbligatori per DirectX 12:
    • Windows 10;
    • Scheda video compatibile con API DirectX 12;
    • Driver video che supporta l'API DirectX 12;

    Con questo set, dovrai solo aspettare l'uscita dei giochi DirectX 12 per verificarlo tu stesso.

    La mia scheda video supporta DirectX 12?

    Elenco delle schede video che supportano l'API DirectX 12:
    *Questo elenco contiene schede video che supportano l'API DirectX 12, ma non tutte supportano DirectX 12_0 e DirectX 12_1.

    • Grafica AMD Radeon™ serie R9
    • Scheda grafica AMD Radeon™ serie R7
    • Scheda grafica AMD Radeon™ R5 240
    • Scheda grafica AMD Radeon™ serie HD 8000 per sistemi OEM (HD 8570 e versioni successive)
    • Grafica AMD Radeon™ serie HD 8000M per notebook
    • Scheda grafica AMD Radeon™ serie HD 7000 (HD 7730 e versioni successive)
    • Scheda grafica AMD Radeon™ serie HD 7000M per notebook (HD 7730M e versioni successive)
    • APU AMD serie A4/A6/A8/A10-7000 (“Kaveri”)
    • APU AMD serie A6/A8/A10 PRO-7000 (“Kaveri”)
    • APU AMD serie E1/A4/A10 Micro-6000 ("Mullins")
    • APU AMD serie E1/E2/A4/A6/A8-6000 (“Beema”)
    Nvidia
    • Nvidia Fermi (GTX 400, GTX 500)
    • Nvidia Keplero (GTX 600, GTX 700)
    • Nvidia Maxwell (GTX 700, GTX 900)
    Intel
    • Intel Haswell (HD 5000, 4600, 4400 e 4200; Iris 5200 e 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 e 5300; Iris 6200 e 6100)

    AMD

    • AMD Radeon™ R9 285, 290/290X, 295X2, M295X
    • AMD Radeon™ R7 260/260X
    • AMD Radeon™ HD 8770
    • AMD Radeon™ HD 7790
    Nvidia
    • GeForce, GTX Titan X
    • GTX 980, GTX 980Ti
    • GTX970
    • GTX960

    Nvidia

    • GeForce, GTX Titan X
    • GTX 980, GTX 980Ti
    • GTX970
    • GTX960

    DirectX12_0
    Solo le GPU o le architetture progettate specificamente per supportare DirectX 12 supporteranno il livello di funzionalità DirectX 12_0, che contiene una serie di nuove tecnologie. Tra queste ci sono le Risorse Piastrellate. In linea di principio le risorse Tile sono conosciute da DirectX 11; sono molto efficienti in termini di memoria utilizzata e possono anche migliorare significativamente il livello di dettaglio. Utilizzando texture piccole in più orientamenti è possibile simulare texture di grandi dimensioni. Inoltre, la memoria viene salvata in modo significativo. E non devi sacrificare la qualità dell’immagine.

    L'esempio mostra una classica texture Texture 3D per DirectX 11 con una risoluzione di 1.200 x 600 x 600 pixel con colore a 32 bit: occupa 1,6 GB. Una texture 3D Tiled Texture può essere utilizzata con la stessa qualità attraverso più iterazioni: avrà una risoluzione di 32 x 32 x 16 pixel con colore a 32 bit. La dimensione sarà di 156 MB. Un esempio mostra una scena di rendering in cui una texture 3D basata su piastrelle viene utilizzata 2.500 volte. Per creare e simulare alcuni materiali in 3D, viene aggiunto un altro campo informativo. Questo potrebbe essere, ad esempio, il valore della trasparenza o della viscosità. Questo approccio consente di simulare meglio liquidi e gas.

    Un altro tipo di risorse riquadro sono le risorse riquadro volume, ma appartengono al livello di funzione non di DirectX 12_0, ma di 12_1.

    Il livello DirectX 12_0 include UAV tipizzato e nuovo modello Bind, a cui è indirizzata l'API numero maggiore Core della CPU, che forniscono maggiore parallelizzazione e prestazioni.

    DirectX12_1
    Microsoft e gli sviluppatori GPU hanno fatto un ulteriore passo avanti con DirectX 12_1. Ma solo le GPU più recenti supportano questo livello di funzionalità. Questi includono tutte le GPU basate sulla "Mawell" di seconda generazione. Una delle nuove tecnologie è la rasterizzazione conservativa. Viene utilizzato per il filtro Dynamic Super Risoluzione e l'anti-aliasing multiframe campionato.

    Quando si rasterizza un oggetto/pixel di piccole dimensioni, in alcuni casi è meglio considerare tutti i punti campione coperti, anche se solo parzialmente. Anche la rasterizzazione conservativa è importante durante la voxelizzazione di VXGI. La tecnica migliorata è più evidente quando si calcolano le ombre.


    DirectX 12: una nuova fase nello sviluppo dei giochi

    Windows 10 verrà rilasciato il 29 luglio. E come parte del nuovo sistema operativo vedremo il pacchetto API DirectX 12, esclusivo di questa versione.

    DirectX 12 promette di essere una svolta nel settore dei giochi, poiché consente di portare la grafica e le prestazioni a nuovi livelli, indipendentemente dalla configurazione del dispositivo su cui viene eseguito.

    Vi parleremo più dettagliatamente di tutti i cambiamenti e le innovazioni nel nostro articolo su DirectX 12.

    “Il sogno di tutti gli amanti del grafonio è diventato realtà! Ora è disponibile il supporto per più schede video a livello di interfaccia! Inoltre, puoi condividere non solo adattatori video che funzionano in SLI o CrossFire, ma anche GPU integrate nella CPU, anche di produttori diversi.


    Con il rilascio di Windows 10, sarà disponibile per tutti una nuova versione dell'API DirectX, che cambierà notevolmente in meglio le prestazioni di gioco. A differenza di versione precedente, non è necessario che funzioni nuova scheda video, poiché quasi tutte le GPU rilasciate negli ultimi anni avranno il supporto Dx12.

    Una nuova versione dell'interfaccia per giochi e applicazioni multimediali che funzionerà su tutti i dispositivi Microsoft: smartphone, tablet, laptop, personal computer e Xbox One. DX12, offrendo agli sviluppatori l'accesso alla programmazione di basso livello e al multi-threading migliorato, migliorerà le prestazioni dell'hardware esistente nei giochi. Secondo AMD, l'utilizzo della nuova API consente di aumentare il numero di oggetti elaborati di 16,5 volte rispetto a DX11 allo stesso frame rate. E il supporto integrato per DX12 in Windows 10 gli promette un'incredibile popolarità.(c) Windows 10: le otto innovazioni più importanti per i giocatori

    Informazioni su DirectX

    Prima di parlare in dettaglio di Dx12 e di tutte le innovazioni, lascia che ti ricordi cos'è DirectX e in quali parti è composto l'intero pacchetto di questa API.

    DirectX (dall'inglese direct - diretto, diretto) è un insieme di API progettate per risolvere problemi legati alla programmazione Microsoft Windows. Più ampiamente utilizzato nella scrittura di giochi per computer. Il kit di sviluppo DirectX per Microsoft Windows è disponibile gratuitamente sul sito Web di Microsoft. Spesso le versioni aggiornate di DirectX vengono fornite in bundle con le applicazioni di gioco.(c)Wikipedia

    La libreria principale in cui si verificano più spesso cambiamenti e l'introduzione di nuove tecnologie è Direct3D. Con ogni aggiornamento importante di questa libreria, l'intero pacchetto DirectX riceve un nuovo indice. In esso sono state apportate le innovazioni più importanti in Dx12. Anche il resto delle librerie è stato aggiornato, ma non contengono quasi nessuna nuova tecnologia, anche se Microsoft promette qualcosa di nuovo nei futuri aggiornamenti di DirectX.

    In generale il pacchetto DirectX è suddiviso nelle seguenti librerie:

    • Direct2D è un'interfaccia di output grafica bidimensionale.
    • Direct3D (D3D) è un'interfaccia per la visualizzazione di primitive tridimensionali.
    • DirectInput è un'interfaccia utilizzata per elaborare i dati provenienti da tastiera, mouse, joystick e altri controller di gioco.
    • DirectPlay è un'interfaccia di comunicazione di rete per i giochi.
    • DirectSound: interfaccia per lavorare a basso livello con il suono (formato Wave)
    • DirectMusic è un'interfaccia per riprodurre musica nei formati Microsoft.
    • DirectShow è un'interfaccia utilizzata per l'input/output di dati audio e/o video.

    Ogni nuova versione di DirectX è programmata per coincidere con un'importante svolta tecnica specifica. Si tratta principalmente di nuove versioni di modelli shader supportati solo da alcune generazioni di GPU e versioni di Windows.

    Caratteristiche principali delle versioni:

    • DirectX 6.0 - Multitexturing
    • DirectX 7.0 - Supporto hardware per trasformazioni, ritaglio e illuminazione
    • DirectX 8.0 - Modello Shader 1.1
    • DirectX 8.1 - Pixel shader 1.4 e vertex shader 1.1
    • DirectX 9.0 - Modello Shader 2.0
    • DirectX 9.0b - Pixel shader 2.0b e vertex shader 2.0
    • DirectX 9.0c - Modello Shader 3.0
    • DirectX 10 - Modello Shader 4.0
    • DirectX 10.1 - Modello Shader 4.1
    • DirectX 11 - Modello Shader 5.0
    • DirectX 11.1 - Modello Shader 5.1
    • DirectX 12 - API di rendering di basso livello, supporto multi-threading e multi-GPU migliorato a livello API

    Funzionalità e nuove tecnologie in DirectX 12


    Accesso di basso livello
    Se prima l'interfaccia DirectX mirava all'universalità e non forniva agli sviluppatori l'accesso diretto alle funzioni di basso livello della scheda video, ora, grazie alle nuove procedure di chiamata, l'accesso ad esse è aperto, e ancora di più, se gli sviluppatori non le utilizzano , gli autisti saranno in grado di ottimizzare automaticamente il loro utilizzo per risolvere compiti standard. Grazie a questo approccio, l'utilizzo di tecnologie specifiche della scheda video aumenterà le prestazioni anche nei giochi più vecchi portati su DX12.

    Ottimizzazione multi-thread
    DirectX 12 è la prima di tutte le versioni ottimizzata per il multithreading di basso livello. I giochi saranno in grado di caricare tutti i core della CPU disponibili in modo più uniforme, con conseguente miglioramento delle prestazioni complessive del gioco. Il tempo richiesto per elaborare il thread di gioco principale è ridotto e consente anche più draw-call. Di conseguenza, sullo stesso hardware è possibile eseguire il rendering di molti più oggetti senza ridurre il frame rate. DX 12 otterrà il massimo dal tuo PC!

    Ottimizzazione multi-thread della CPU





    Utilizzo di più GPU
    Il sogno di tutti gli amanti del grafonio è diventato realtà! Ora è disponibile il supporto per più schede video a livello di interfaccia! Inoltre, puoi condividere non solo gli adattatori video che funzionano in SLI o CrossFire, ma anche le GPU integrate nella CPU, anche di produttori diversi. I giochi non faranno affidamento su una GPU specifica per l'elaborazione grafica, ma sull'intera gamma di schede video disponibili nel sistema come un'unica GPU.


    Non c'è ancora conferma se sarà possibile combinare due schede video discrete di AMD o Nvidia, ma le aziende stesse dimostrano il funzionamento congiunto di un'APU + GPU di AMD o di un core video integrato di Intel + una scheda Nvidia GTX discreta. . Forse ci aspettano partnership tra marchi o l'uso di schede video generazioni diverse in un unico sistema, che metterà fine alla guerra a lungo termine tra i fan di AMD e Nvidia.


    Il vantaggio principale di combinare tutte le GPU in un unico cluster è la capacità di elaborare ogni singolo fotogramma con l'intero array, il che elimina i problemi di compatibilità dei giochi con Multi-GPU e consente inoltre di non copiare la memoria video di ciascun dispositivo, ma per usarlo insieme, cioè ora si riassume la capacità di memoria di diverse schede video!



    Sfruttare tutto il potenziale di eSRAM (solo Xbox One)
    eSRAM è una memoria speciale ad alta velocità utilizzata nella GPU Xbox One. Se prima esisteva un'API speciale per lavorarci, ora queste procedure e funzioni sono integrate in Dx12 e l'accesso ad essa è ottimizzato e più semplice per gli sviluppatori finali. Pertanto, possiamo aspettarci un aumento delle prestazioni della console, nonché un aumento della qualità e delle prestazioni nei giochi futuri.


    Retrocompatibile con le schede video DirectX 11
    La maggior parte delle schede video moderne che supportano DX 11.1 sono completamente compatibili con DX 12. Le schede video più vecchie supporteranno solo parzialmente la nuova API. Ora più del 70% delle schede video a disposizione dei giocatori avrà il supporto totale o parziale per tutte le innovazioni. Lista completa le schede video compatibili con DX 12, secondo i produttori, verranno presentate alla fine dell'articolo.


    DirectX 12 + GPU integrate e di fascia bassa
    Tutti i vantaggi di DirectX 12 saranno disponibili non solo per i PC da gioco con schede grafiche di ultima generazione, ma anche per i dispositivi con schede grafiche economiche o persino GPU integrate nei processori, come laptop e tablet. I test eseguiti su un Surface Pro 3 con processore Core i5 con GPU Intel 4400 integrata mostrano miglioramenti delle prestazioni di oltre il 50% nelle applicazioni grafiche e nei giochi in un benchmark personalizzato in cui i frame rate sono aumentati da 19 FPS a 33 FPS utilizzando la nuova API.


    4k+DirectX12
    Ottimizzeremo anche il lavoro con risoluzioni elevate e quando si passa a DX12, l'aumento medio delle prestazioni con risoluzioni 4K sarà del 30-40%. Questi numeri sono stati nominati dallo sviluppatore capo di Project CARS, Ian Bell.


    Tecnologie simili

    Prima del rilascio di Dx12, alcune aziende hanno introdotto le proprie API, simili nelle funzionalità, ma mirate a GPU specifiche di un determinato produttore o ad altre librerie grafiche, come OpenGL.

    Mantle è una specifica API di basso livello sviluppata da AMD come alternativa a DirectX e OpenGL. Attualmente supportato solo dalla grafica Processori AMD Architettura GCN, anche se esiste la possibilità che altri produttori di GPU possano implementarla in futuro, ma a causa del rilascio di Dx12, che è supportato da tutti i produttori di GPU sul mercato, la probabilità che ciò accada è estremamente bassa. Ebbene, l'ultimo chiodo nella bara potrebbe essere che, a giudicare dai test condotti dalla stessa AMD, Dx12 funziona più velocemente della propria tecnologia sulle proprie schede video.

    Vulkan API - originariamente conosciuta come "la prossima generazione di OpenGL" o semplicemente "glNext", ma dopo l'annuncio il gruppo Khronos abbandonò questi nomi a favore del nome Vulkan. Come OpenGL, Vulkan consente il rendering in tempo reale ad alte prestazioni varie applicazioni con grafica 3D, come giochi o libri interattivi, su tutte le piattaforme, e fornisce anche prestazioni più elevate e un minore carico della CPU, simile a Direct3D 12 e Mantle. Vulkan è basato sulle tecnologie AMD in Mantle. Proprio come OpenGL in passato, in futuro Vulkan diventerà l'unica valida alternativa a DirectX e sarà supportato dalle associazioni Open Source e da giganti del gioco come Valve.

    Elenco delle schede video che attualmente supportano DirectX 12

    • Grafica AMD Radeon™ serie R9
    • Scheda grafica AMD Radeon™ serie R7
    • Scheda grafica AMD Radeon™ R5 240
    • Scheda grafica AMD Radeon™ serie HD 8000 per sistemi OEM (HD 8570 e versioni successive)
    • Grafica AMD Radeon™ serie HD 8000M per notebook
    • Scheda grafica AMD Radeon™ serie HD 7000 (HD 7730 e versioni successive)
    • Scheda grafica AMD Radeon™ serie HD 7000M per notebook (HD 7730M e versioni successive)
    • APU AMD serie A4/A6/A8/A10-7000 (nome in codice "Kaveri")
    • APU AMD serie A6/A8/A10 PRO-7000 (nome in codice "Kaveri")
    • APU AMD serie E1/A4/A10 Micro-6000 (nome in codice "Mullins")
    • APU AMD serie E1/E2/A4/A6/A8-6000 (nome in codice "Beema")
    • Nvidia Fermi (GTX 400, GTX 500)
    • Nvidia Keplero (GTX 600, GTX 700)
    • Nvidia Maxwell (GTX 700, GTX 900)
    • Intel Haswell (HD 5000, 4600, 4400 e 4200; Iris 5200 e 5100)
    • Intel Broadwell (HD 6000, 5600, 5500 e 5300; Iris 6200 e 6100)

    Invece di una conclusione. conclusioni

    Se Microsoft e i produttori di GPU mantengono le loro promesse e non bloccano le connessioni tra fornitori, come sta accadendo attualmente con PhysX e Mantle, avremo una svolta tecnica. Dopo tanti anni e delusioni come la versione PC di Batman Arkham Knight, gli sviluppatori di API e giochi hanno iniziato a ottimizzare il codice per l'hardware esistente. Di cos'altro ha bisogno un giocatore? Naturalmente, più FPS gratis! Le prossime generazioni di schede video saranno ottimizzate ancora di più per DX12 e avranno più megahertz e gigabyte, supporto per le nuove tecnologie, ma presto sarà possibile giocare comodamente ai nuovi giochi. Molti diranno che non ci sono ancora giochi per il nuovo DirectX e non ce ne saranno, e avranno quasi ragione. Ma molti dei titoli di successo di quest'anno riceveranno successivamente aggiornamenti per supportare la nuova API Versione di Windows 10. E il 90% dei giochi che usciranno alla fine di quest'anno hanno già annunciato il proprio supporto. Scopriremo cosa accadrà concretamente nei prossimi mesi, restate in contatto!

    DirectXè un insieme di librerie necessarie per Microsoft Windows a 32 bit e 64 bit. Il nuovo Direct X11 è progettato per il corretto funzionamento di vari giochi per computer, nonché per altri programmi, ad esempio per la riproduzione di video e audio in alcuni lettori. Anche i giocatori possono usarlo. Tutti i giochi per computer utilizzano la grafica 3D, che verrà implementata utilizzando la tecnologia Direct X12. Senza un aggiornamento tempestivo del software della tecnologia DirectX per il tuo computer, il gioco per computer potrebbe non avviarsi.

    Anche se hai già installato questo programma, ma altro ancora vecchia versione, quindi per il corretto funzionamento e la visualizzazione della grafica 3D dei moderni giochi per computer, ti consigliamo di scaricare e aggiornare DirectX gratuitamente su ultima versione.

    Nella tecnologia Diretto X Ci sono anche funzionalità di basso livello come l'accelerazione grafica bidimensionale (2D). C'è anche il supporto vari dispositivi dispositivi di input come joystick, tastiera, mouse. C'è anche il supporto per le apparecchiature audio per garantire un suono di alta qualità. Spesso, quando si installa un gioco, questo può essere fornito in bundle DirectX11, Anche versioni obsolete DirectX10 O DirectX 9.0c. Queste versioni non sono più rilevanti e ti consigliamo di aggiornarle alla versione più recente DirectX12. Tutto ciò è dovuto al fatto che DirectX per Windows 10, 8, 7 può essere aggiornato abbastanza spesso ed è necessario monitorare gli aggiornamenti. Con ogni nuova versione del programma vengono aggiunte nuove librerie e nuove tecnologie per migliorare la qualità della grafica giochi per computer e non solo. Ogni giocatore dovrebbe avere sempre a portata di mano vari driver nuovi, uno dei quali è DirectX 11 e 12 per Windows 7, 8, 10. Quindi ti consigliamo di installare l'ultima versione di DirectX, cosa che puoi fare gratuitamente scarica DirectX 11/12 per Windows 7, 8, 10 tramite collegamento diretto senza registrazione e SMS al nostro sito web.

    Grazie a questo programma di installazione, che puoi scaricare qui sotto, riceverai l'aggiornamento a DirectX 9.0c, 10, 11, 11.1, 12 per Windows 10, 8 e 7. Hai solo bisogno di una connessione Internet. Eseguendo il programma di installazione Web, puoi aggiornare DirectX alla versione più recente dal sito Web ufficiale.

    Il rilascio ufficiale di DirectX 12 per Windows 7, 8, 10 è avvenuto molto tempo fa. Segnaliamo che non è necessario installare DirectX 12 per Windows 10, poiché è integrato Sistema Windows 10.

    Spesso gli utenti non conoscono la risposta alla domanda: come verificare la versione di DirectX su Windows 10, 7, 8? Per fare ciò, è necessario premere contemporaneamente i tasti della tastiera Win + R (dove Win è il tasto con il logo di Windows) o fare clic sul pulsante Start (in Windows 10 e 8 - fare clic con il tasto destro su "Start" - " Esegui"), e nel campo di ricerca inserisci dxdiag, quindi premere Invio. Si aprirà una finestra Strumento diagnostico DirectX e nella scheda "Sistema" vedrai le informazioni su versione installata DirectX.

    DirectX 12 è un componente speciale che garantisce il buon funzionamento del sistema operativo e di altre applicazioni, principalmente giochi, con i driver della scheda video.

    Se hai seguito regolarmente la nostra serie di contenuti relativi a nuove finestre 10, probabilmente avrai notato che DirectX 12 veniva spesso menzionato in essi. Non è un caso: dal momento in cui Microsoft ha iniziato a parlare della prossima versione del sistema operativo, l'azienda ha più volte sottolineato il ruolo centrale assegnato all'ultima DirectX. Perché questo è così importante per te come utente e quali miglioramenti porterà la nuova versione? GUI con il prossimo Windows 10? Oggi proveremo a rispondere brevemente a queste domande.

    Un po' di background

    Sebbene sia spesso considerato parte integrante di ogni sistema Windows, DirectX in realtà è apparso per la prima volta in Windows 95 Service Pack 2. Si tratta di un insieme complesso di diversi moduli chiamati collettivamente API (Application Programming Interface). Ciascuno di essi svolge numerose e varie funzioni, ma il loro scopo principale è fornire accesso diretto a vari programmi multimediali e video (per lo più giochi, ovviamente) all'hardware del sistema informatico in esecuzione su Controllo di Windows.

    Prima della prima versione di DirectX (che era numero di serie 2.0a) con Windows 95 Service Release 2, l'avvio e l'esecuzione di tali applicazioni (giochi) era un processo macchinoso e complesso. Per ottenere l'accesso diretto all'hardware, il programma accedeva al DOS, il predecessore di Windows senza interfaccia grafica. Era, per usare un eufemismo, un meccanismo inefficiente per l'utilizzo di componenti come RAM, video e scheda audio eccetera.

    Con l'avvento di Windows 95, Microsoft ha deciso che era giunto il momento di aprirsi nuova pagina nella sua storia. L'azienda se ne è accorta per rendere popolare il nuovo sistema operativo utenti ordinari e soprattutto tra i giocatori, si dovrebbe offrire un ambiente di lavoro più efficiente per l'esecuzione di titoli di gioco.

    Così è nata DirectX, un'interfaccia di programmazione di nuova generazione, grazie alla quale tutte le applicazioni multimediali in grado di utilizzarla hanno ricevuto di più accesso veloce alle attrezzature di cui hanno bisogno.

    All’inizio l’adozione della nuova API è stata relativamente lenta, soprattutto alla luce della forte concorrenza delle OpenGL apparse qualche anno prima. A poco a poco, tuttavia, DirectX è migliorato sempre di più e oggi domina quasi da solo il mondo dei videogiochi per computer, almeno sulla piattaforma Windows.

    Numero fortunato 12

    Non è difficile indovinare che i numeri nel nome dell'interfaccia indicano il numero di versione. In questo caso parliamo della dodicesima versione di DirectX, che merita un'attenzione particolare rispetto a tutte le altre undici che l'hanno preceduta.

    La verità è che negli ultimi dieci anni, dal rilascio della versione 10, Microsoft si è riposata in gran parte sugli allori quando si tratta di DirectX. La predominanza dell'interfaccia (e di Windows in particolare) nel segmento PC ha reso l'azienda un po' pigra e, di conseguenza, la maggior parte dei miglioramenti nelle versioni 10 e 11 sono stati più evolutivi che rivoluzionari. Ognuna di queste versioni ha ricevuto aggiornamenti a medio termine che hanno aggiunto ottimizzazioni relativamente minori e funzionalità nuove, ma non particolarmente entusiasmanti.

    Al contrario, la versione 12 rappresenta un grande e decisivo passo avanti non solo per DirectX in particolare, ma per Microsoft in generale.

    Poiché Windows 10 sarà un'unica piattaforma in grado di funzionare su smartphone, tablet, laptop, computer desktop E console di gioco(Xbox One), l'arrivo di DirectX 12 interesserà una gamma molto più ampia di dispositivi hardware.

    Per i possessori di Xbox One, ad esempio, la nuova interfaccia promette capacità di rendering più veloci e quindi giochi dall'aspetto migliore. Inoltre, Microsoft spera che il passaggio a DirectX 12 cancellerà il predominio del suo principale concorrente, la console PlayStation 4 di Sony, che attualmente offre più potenza di elaborazione di Xbox One. Ad esempio, la nuova API consentirà agli sviluppatori di giochi di ottenere un accesso più rapido al buffer ESRAM ad alte prestazioni di Xbox, che a sua volta porterà a frame al secondo più elevati.

    DirectX 12 promette l'accelerazione della dashboard di Xbox One, nonché il pieno supporto per i video 4K.

    Nuova vita ai vecchi computer

    Un'altra promessa molto interessante associata a DirectX 12 è questa: l'ottimizzazione. Microsoft afferma che semplicemente aggiornando a Windows 10 (e DirectX di conseguenza), le prestazioni multimediali (ovvero i giochi) del tuo PC possono quasi raddoppiare. E i test preliminari di PCWord hanno dimostrato che la crescita potrebbe essere ancora maggiore.

    Come è possibile ottenere un simile salto di prestazioni senza sostituire l'hardware? Tutto è molto semplice, grazie al pieno utilizzo delle risorse disponibili sul computer.

    Oggi, quasi tutti i computer attuali, siano essi mobili o desktop, si basano su un processore con più di un core di calcolo. Inoltre, nelle moderne GPU il numero di core viene misurato in migliaia.

    Tornando a quando Intel pose fine alla "guerra dei MHz" e abbracciò il concetto di aumento delle prestazioni attraverso il parallelismo, ovvero dividendo operazioni/calcoli tra due o più core del processore, l'allora Software non era pronto per un balzo in avanti così gigantesco.

    Né massiccio sistema operativo(leggi Windows), né le applicazioni in esecuzione su di essi sono state ottimizzate per sfruttare appieno il vantaggio di avere più di un core del processore.

    Pertanto, la sostituzione di un processore single-core con un processore dual o quad-core ha portato senza dubbio ad un aumento delle prestazioni, ma non così drammatico come si aspettavano gli utenti.

    Uno degli obiettivi principali del nuovo DirectX 12 è proprio quello di consentire ai giochi di sfruttare al massimo tutti i core del processore disponibili e di caricarli al massimo delle loro capacità. L'effetto di questa ottimizzazione è a dir poco impressionante: i risultati del popolare test 3D Mark mostrano un aumento delle prestazioni di 10-15 volte quando si passa da DirectX 11 a DirectX 12!

    Ma non è tutto. Il gigante del software promette miglioramenti delle prestazioni non solo per i sistemi desktop potenti, ma anche per i dispositivi più deboli come laptop e tablet Windows.

    Naturalmente, questo non significa che si trasformeranno miracolosamente in un'alternativa a tutti gli effetti a un PC da gioco desktop, ma grazie a Windows 10 e DirectX 12 offriranno una grafica più fluida e migliore.

    Nuova interfaccia Fornirà inoltre un algoritmo molto più efficiente per la distribuzione dei compiti tra grafica integrata e discreta, una funzione simile a quella offerta dalla tecnologia Virtu di Lucid, che era sensazionale diversi anni fa.

    Infine, DirectX 12 preparerà Windows per il nuovo mondo della risoluzione 4K che speriamo possa prendere piede nel mondo dei PC nei prossimi anni.

    Vi auguro una buona giornata!

    Pubblicazioni sull'argomento