Home
» GIOCO
»
DirectX 11 vs. DirectX 12: quale è migliore per il gaming?
DirectX 11 vs. DirectX 12: quale è migliore per il gaming?
In breve: DirectX 12 può offrire prestazioni migliori quando un gioco è stato progettato per sfruttarlo al meglio, soprattutto quando la CPU limita il frame rate. DirectX 11 può risultare più fluido o affidabile in un determinato gioco o su un determinato PC. Nessuna delle due API è automaticamente più veloce, più elegante o più stabile. Se un gioco offre entrambe, confrontale direttamente in quel gioco e sul tuo hardware.
Direct3D 12 consente a un gioco di registrare simultaneamente più liste di comandi; questa immagine concettuale non rappresenta un benchmark hardware.
Quali sono le differenze tra DirectX 11 e DirectX 12?
Nella maggior parte delle discussioni sui videogiochi, "DirectX 11" e "DirectX 12" si riferiscono alle API grafiche Direct3D che un gioco utilizza per inviare il lavoro di rendering attraverso Windows e il driver grafico alla GPU. L'API influenza il modo in cui questo lavoro viene organizzato; non imposta un preset di qualità universale né migliora automaticamente l'aspetto della stessa scena di gioco.
Direct3D 11 ha un modello di programmazione di livello superiore. Il runtime e il driver gestiscono più dettagli per il gioco, il che può semplificare agli sviluppatori il supporto di un'ampia gamma di sistemi. DX11 non è strettamente single-threaded: Microsoft documenta la creazione di oggetti multithread e la registrazione di elenchi di comandi in Direct3D 11.
Direct3D 12 offre al motore di gioco un controllo più diretto. Il gioco può registrare più elenchi di comandi su thread diversi della CPU e poi inviarli alle code di comandi. Si assume inoltre una maggiore responsabilità per lo stato delle risorse e la sincronizzazione CPU/GPU. Questo può ridurre il carico sulla CPU e migliorare la scalabilità, ma comporta un maggiore impegno da parte dell'implementazione del gioco.
Zona
DirectX 11
DirectX 12
Invio del lavoro
La gestione di una parte maggiore è affidata al runtime e al driver.
Il gioco registra e invia elenchi di comandi con un controllo più esplicito.
Scalabilità della CPU
Supporta il multithreading, con un modello più gestito.
Consente di distribuire la registrazione dei comandi tra i core della CPU in modo più diretto.
Risultato giocatore
Spesso si tratta di un'utile soluzione di ripiego per garantire compatibilità e stabilità.
Potrebbe migliorare le prestazioni limitate dalla CPU quando il gioco è ottimizzato per essa.
Quando DX12 può essere utile e quando invece DX11 è preferibile?
DirectX 12 è particolarmente utile quando un gioco è limitato dalla CPU: il processore fatica a preparare il lavoro per la GPU, mentre la scheda grafica ha margine di manovra. Un renderer DX12 ben ottimizzato può utilizzare più core della CPU in modo più efficace e ridurre il carico sui driver. Questi vantaggi dipendono dal motore di gioco, dalla sua patch, dalla CPU, dalla GPU e dai driver.
Se la GPU rappresenta già il collo di bottiglia, la modifica delle API potrebbe non risolvere il problema. Inoltre, DirectX 12 non aggiunge automaticamente ray tracing, mesh shader, variable-rate shading o altre funzionalità grafiche; il gioco deve implementare una funzionalità e l'hardware e i driver devono supportarla. Anche una GPU in grado di eseguire Direct3D 12 potrebbe esporre livelli di funzionalità o capacità diversi. Consulta la guida di Microsoft sui livelli di funzionalità hardware di Direct3D per capire perché il supporto delle API e il supporto delle funzionalità non sono la stessa cosa.
DirectX 11 è una scelta sensata se un gioco non offre DirectX 12, se lo sviluppatore consiglia DirectX 11 per la tua configurazione o se DirectX 12 causa ripetutamente scatti, glitch grafici, blocchi o crash. Una GPU o un driver più vecchi potrebbero anche funzionare in modo più affidabile con il percorso DirectX 11 del gioco. Considera questa scelta gioco per gioco, non una regola che imponga a tutti i PC più vecchi di utilizzare DirectX 11.
Utilizza le opzioni di rendering fornite dal gioco; non esiste un'opzione universale di Windows che imponga a tutti i giochi di utilizzare DX11 o DX12.
Come confrontare i due in un gioco
Controlla le opzioni e le note di supporto del gioco. Alcuni giochi offrono un solo motore di rendering; altri includono l'opzione DirectX nelle impostazioni grafiche o nel launcher. Verifica che la tua GPU, i driver e la versione di Windows soddisfino i requisiti del gioco.
Mantieni la coerenza del test. Usa lo stesso salvataggio, replay o benchmark integrato, con la stessa risoluzione, preset grafico, limite di frame e applicazioni in background. Se il gioco sta compilando o memorizzando nella cache gli shader, esegui prima la scena una volta, quindi ripeti il test.
Confronta fluidità e stabilità, oltre al frame rate medio. Osserva la coerenza del frame-time, eventuali rallentamenti, crash ed errori di immagine. Ripeti ogni test; un singolo risultato, anche breve, può essere fuorviante. Scegli la modalità che ti sembra più stabile per il tipo di gioco che effettivamente pratichi.
Il motore di rendering di un gioco può comportarsi in modo diverso dopo una patch importante o un aggiornamento dei driver. Il risultato riportato per Fortnite, Ready or Not o Path of Exile si riferisce alla versione e al PC testati; non è una raccomandazione universale. Consulta le note degli sviluppatori e ripeti il test se il tuo gioco subisce modifiche.
Per un confronto equo, utilizzare la stessa scena e le stesse impostazioni. Le tracce temporali dei fotogrammi mostrate qui sono a scopo illustrativo e non rappresentano risultati misurati.
Quindi, quale dovresti usare?
Iniziate con il renderer consigliato dal gioco. Provate DX12 se è supportato e volete verificare se migliora le prestazioni limitate dalla CPU. Passate a DX11 se risulta più fluido o stabile sul vostro sistema. Se il gioco offre una sola opzione, utilizzate quella supportata anziché tentare di forzare un'API diversa. La scelta migliore in termini pratici è la modalità che permette al gioco di funzionare in modo fluido e affidabile sul vostro PC.