DirectX di Microsoft e Vulkan di Khronos Group sono due API grafiche ampiamente utilizzate e favorite da molti sviluppatori di giochi oggi. In sostanza, Vulkan e DirectX assicurano un'allocazione efficiente delle risorse hardware (CPU e GPU) per consentire ai giochi di raggiungere frame rate elevati e tempi di rendering rapidi. Ma come si confrontano queste due API grafiche, Vulkan e DirectX? Quale è superiore per il gaming? Esploriamolo.
Vulkan vs DirectX: Evoluzione e sviluppo
Per prima cosa, approfondiamo l'evoluzione e la storia per evidenziare l'importanza delle API grafiche come DirectX e Vulkan.
Il gaming su PC è iniziato con DirectX
Inizialmente, un team Microsoft sviluppò DirectX per aumentare l'adozione tra gli sviluppatori di giochi, assicurando che i PC basati su Windows avessero giochi per gli utenti. Prima di DirectX, gli sviluppatori preferivano creare giochi per DOS e non avevano in programma di rilasciare nuovi titoli per Windows.
Questo accadde più o meno nel periodo in cui Windows 95 stava per essere lanciato. Oltre ai giochi DOS, anche i giochi per console stavano guadagnando terreno. DirectX 1.0, noto come Windows Game SDK, fu rilasciato nel settembre 1995.
Alex St. John, membro del team DirectX, ha raccontato in un'intervista che Microsoft ha dovuto convincere senza sosta gli sviluppatori di giochi ad adottare DirectX. Hanno affrontato le preoccupazioni degli sviluppatori e utilizzato il loro feedback per migliorare il gaming su Windows, incoraggiando la creazione di nuovi giochi per il sistema operativo utilizzato da milioni di persone.
All'inizio di DirectX, vennero adottate audaci strategie di marketing volte ad attrarre l'industria dei videogiochi affinché adottasse l'API e a incoraggiare lo sviluppo di giochi per PC Windows.
Leggi anche:
DirectX ha permesso agli sviluppatori di giochi di sfruttare l'hardware del PC in modo efficiente senza interferenze dal sistema operativo. Componenti come DirectSound per l'elaborazione audio, DirectPlay per le comunicazioni in-game e DirectDraw per il rendering grafico facevano tutti parte di DirectX 1.0, inizialmente noto come "SDK del gioco" O "Progetto Manhattan."Oggi, DirectX è un set completo di API ampiamente utilizzato in molti giochi. Mentre DirectX 12 è la versione più recente, molti giochi utilizzano ancora DirectX 11.
Vulkan è stato creato con obiettivi simili ma implementato in modo diverso
Vulkan ha le sue radici nella Mantle API di AMD, sviluppata in collaborazione con DICE. Inizialmente utilizzata in giochi come Sniper Elite III, Battlefield 4 e Civilization: Beyond Earth, Mantle mirava a offrireprestazioni superiori rispetto a DirectX 11, specialmente in scenari con collo di bottiglia della CPU. Nonostante i suoi vantaggi, Mantle ha incontrato un'adozione limitata.
AMD alla fine ha fornito la Mantle API al Khronos Group, che l'ha utilizzata come base per sviluppare Vulkan. Vulkan è stata presentata ufficialmente come una nuova API grafica al GDC 2015. Oggi, Vulkan è diventato un importante standard aperto insieme a DirectX 11 e DirectX 12, ampiamente utilizzato in molti giochi.
Una distinzione notevole tra Vulkan e DirectX è che Vulkan è unAPI multipiattaforma, supportando sia gli ambienti desktop che quelli mobili. Il design di Vulkan enfatizza la riduzione al minimo del "driver overhead", che può migliorare significativamente le prestazioni, una funzionalità integrata anche nell'ultima implementazione di DirectX 12.
Negli ultimi cinque anni, sia DirectX che Vulkan hanno subito miglioramenti sostanziali, ognuno con i suoi punti di forza. Analizziamo le loro prestazioni e confrontiamo DirectX con Vulkan in vari giochi contemporanei.
DirectX vs Vulkan: vantaggi comparativi
Vulkan è rinomato per il suo utilizzo efficiente delle risorse hardware, ottenendo un utilizzo bilanciato di CPU, GPU e RAM rispetto a DirectX 12. Essendo un'API di livello inferiore e open source, Vulkan supportamultipiattaformasviluppo, consentendo agli sviluppatori di semplificare le release su PC e piattaforme mobili. Tuttavia, il suocomplessitàpossono rappresentare delle sfide, aumentando potenzialmente i tempi di sviluppo.
Per gli sviluppatori, la natura open source di Vulkan e le sue capacità multipiattaforma lo rendono molto attraente. C'è un ampio materiale didattico disponibile, che lo rende accessibile ai nuovi arrivati nella grafica e nello sviluppo di giochi. Alcuni sviluppatori trovano Vulkan più facile e pulito da usare, con una documentazione superiore rispetto a DirectX. In definitiva, alcuni giochi offrono entrambe le API tra cui gli utenti possono scegliere, soddisfacendo diverse configurazioni e preferenze di sistema.
In effetti, DirectX è utilizzato principalmente per PC Windows e console Xbox, mentre Vulkan supporta una gamma più ampia di piattaforme, tra cui Linux, Windows e vari sistemi operativi mobili. Vulkan è compatibile anche con Nintendo Switch, che utilizza una GPU Nvidia Tegra in grado di eseguire Vulkan.
Leggi anche:
Per quanto riguarda le ottimizzazioni e le API, le console di gioco come PlayStation sono progettate specificamente per il gaming, il che consente agli sviluppatori di ottenere risultati molto diretti ed efficientiAPIcon overhead minimo. Questa specializzazione spesso si traduce in prestazioni superiori rispetto ai PC, dove API come DirectX e Vulkan devono soddisfare una gamma più ampia di configurazioni hardware e ambienti software.
DirectX vs Vulkan: Prestazioni
Quando si considera DirectX rispetto a Vulkan per le prestazioni di gioco, la scelta può variare a seconda del gioco specifico e della configurazione hardware. Ho condotto test su due giochi popolari per confrontare le loro prestazioni utilizzando il mio laptop da gioco Acer Nitro V, dotato di una CPU Intel Core i5-13420H, GPU Nvidia GeForce RTX 4050 e 16 GB di memoria DDR5.
È importante notare che i risultati delle prestazioni possono variare in base ai componenti del tuo PC. Alcuni giochi potrebbero funzionare meglio con DirectX, mentre altri potrebbero trarre maggiori benefici dalle ottimizzazioni di Vulkan. Sfortunatamente, ho riscontrato problemi nel testare DirectX 11 rispetto a Vulkan in Baldur's Gate 3, poiché il gioco continuava a bloccarsi. Una volta risolti, aggiornerò questa sezione con i risultati dei benchmark per quel confronto.
Red Dead Redemption 2: DirectX 12 contro Vulkan
Nei miei test con Red Dead Redemption 2, Vulkanha mostrato un FPS minimo miglioree in genere ha mantenuto un intervallo di FPS più costante rispetto a DirectX 12. Vulkan ha anche fornito un'esperienza più fluida con FPS medi più elevati in varie scene. D'altro canto, DirectX 12 ha mostrato FPS massimi più elevati ma ha avuto difficoltà con FPS minimi più bassi, risultando in un'esperienza complessivamente leggermente meno fluida.
Vale la pena notare che alcuni utenti hanno segnalato problemi di stuttering con Vulkan, mentre altri hanno riscontrato prestazioni incoerenti con DirectX. Per passare da Vulkan a DirectX 12 in Red Dead Redemption 2, vai alle impostazioni grafiche in-game e seleziona le impostazioni grafiche avanzate. Da lì, puoi passare da Vulkan a DirectX 12 ed eseguire il benchmark in-game per confrontare i numeri FPS. Optare per l'API grafica che offre FPS medi migliori nella tua configurazione è probabilmente la scelta migliore per prestazioni ottimali nel gioco.
Leggi anche:
Path of Exile: DirectX 11 contro DirectX 12 contro Vulkan
Nei miei test con Path of Exile sul mio laptop da gioco Acer RTX 4050, Vulkan è emersa come la scelta ottimale tra le tre API grafiche disponibili. Vulkan ha costantemente fornito circa 80 FPS nella maggior parte degli scenari, offrendo prestazioni di gioco fluide. DirectX 11, nonostante sia un'API più vecchia (rilasciata nel 2009), ha fornito numeri di prestazioni migliori in alcuni casi, ma non ha eguagliato la stabilità complessiva e la coerenza FPS di Vulkan. DirectX 12, d'altro canto, ha prodotto risultati insoddisfacenti con FPS che sono scesi sotto i 60 in determinati scenari.
Per i giocatori di Path of Exile, la sceltaVulcanodalle opzioni API grafiche disponibili sembra fornire ilmiglior equilibriodi prestazioni e stabilità su configurazioni hardware simili.
DirectX o Vulkan: quale opzione scegliere?
A seconda delle specifiche del tuo sistema, una di queste due API potrebbe offrire prestazioni superiori. Anche l'ottimizzazione del gioco gioca un ruolo cruciale. Per determinare se DirectX o Vulkan sono più adatti alle tue esigenze, esegui test delle prestazioni in-game e confronta gli FPS.
In genere, DirectX offre maggiore stabilità, anche se non è sempre così. Vulkan è spesso elogiato per il suo approccio bilanciato con overhead minimo. Gli utenti di GPU AMD potrebbero trarre particolare vantaggio da Vulkan, forse a causa delle sue origini in Mantle di AMD.
In definitiva, i giocatori dovrebbero dare priorità all'API che offre migliori prestazioni sul loro sistema. Cosa pensi di DirectX rispetto a Vulkan? Condividi le tue opinioni nei commenti qui sotto!