DirectX 12 contro Vulkan

Arrivano le API a basso livello che promettono di fare faville

SPECIALE di Simone Tagliaferri —   14/03/2015
125

La GDC 2015 sarà ricordata anche come l'edizione in cui si sono concretizzate molte tecnologie software di rilevanza fondamentale per il mondo dei videogiochi per i prossimi anni. Non solo Microsoft ha mostrato più diffusamente le DirectX 12, ma sono tornate in campo anche le librerie OpenGL, con una nuova versione presentata dall'azienda Khronos Group e fortemente caldeggiata da Valve, che le utilizzerà per la nuova edizione del suo motore grafico proprietario, il Source 2, anch'esso presentato o, meglio, ripresentato, nel corso della manifestazione.

DirectX 12 contro Vulkan

Insomma, lo scontro tra Vulkan, questo il nome delle nuove OpenGL, e DirectX 12 è appena iniziato. Fare un confronto qualitativo e prestazionale tra le due in questa fase è praticamente impossibile, perché entrambe non sono ancora di fatto disponibili per il pubblico. Insomma, ci manca la materia prima: i giochi. Soprattutto le Vulkan sono un oggetto ancora misterioso, perché non ne sono state diffuse le caratteristiche definitive. La brochure di presentazione ha però chiarito alcune linee generali della filosofia che le anima, di fatto non molto dissimile da quella delle API (Application programming interface) di Microsoft. Entrambe puntano apertamente alla standardizzazione dello sviluppo, semplificano i port e abbattendone contemporaneamente i costi, ed entrambe lavorano a basso livello, riducendo i famosi colli di bottiglia che hanno sempre piagato il mondo PC, ossia favorendo una comunicazione più veloce tra le varie componenti del sistema, bypassando il sistema operativo. Già le DirectX 10 / 11 avevano iniziato a percorrere questa strada, anche se relativamente a precisi ambienti di riferimento, ma il recente moltiplicarsi sul mercato di ecosistemi software commercialmente appetibili ha modificato enormemente le esigenze degli studi, che sempre più spesso devono lavorare a più versioni dei loro titoli. Visto che non si è riusciti a ottenere la piattaforma unica, perché cozza con gli interessi dei grandi produttori hardware, si sta cercando di ottenere qualcosa di simile a livello software. Cerchiamo di capire cosa si intende per standardizzazione con un celebre esempio che esula dal mondo dello sviluppo. Immaginiamo di avere su un tavolo dieci apparecchi, tutti da attaccare all'elettricità. Se ognuno di essi avesse una presa maschio diversa, dovremmo dotarci di altrettante prese femmina per alimentarli. Oppure, dovremmo costruire un generatore elettrico per ognuno. Non è più comodo che tutti gli apparecchi abbiano un sistema di alimentazione standardizzato? In questo modo potremmo avere una sola presa capace di alimentare tutti i tipi di apparecchio, senza bisogno di ulteriori intermediazioni. Inoltre, se tutti si dotassero dello stesso attacco, basterebbe un solo cavo per collegarle tutte. Le nuove API grafiche di Microsoft e Khronos Group tentano di essere quel cavo, comunicando direttamente con l'hardware senza l'intermediazione del sistema operativo.

DirectX 12 e Vulkan: il futuro dei videogiochi è nelle API di basso livello?

Quali prestazioni per Vulkan?

Se le promesse saranno mantenute, assolutamente sì, per rispondere alla domanda del titolo del paragrafo. Nel corso della GDC 2015 Microsoft, in collaborazione con Lionhead, ha mostrato due versioni di una demo di Fable Legends, una fatta girare con DirectX 11 e l'altra con DirectX 12. Il frame rate della prima era di 44,5 fotogrammi al secondo, mentre quello della seconda era di 53 fotogrammi al secondo. A cosa è dovuto l'aumento prestazionale? Microsoft lo spiega con la possibilità delle singole applicazioni di sincronizzare in modo ottimale e autonomo le risorse, grazie all'accesso di basso livello all'hardware garantito dalle DirectX 12. Il miglioramento di prestazioni, nel caso di Fable Legends è stato stimato nell'ordine del 20% di FPS in più rispetto alla versione DirectX 11, ma ovviamente i boost varieranno a seconda dei giochi e delle configurazioni.

DirectX 12 contro Vulkan

Microsoft ha stimato che tra ottimizzazioni di GPU e CPU, con le configurazioni attualmente più diffuse sul mercato compatibili con le nuove Api, calcolate studiando i sondaggi hardware di Steam, si avranno incrementi prestazionali medi del 50%. Per quanto riguarda le Vulkan non è possibile fare previsioni così precise.

DirectX 12 contro Vulkan

Quello che si sa finora è che sono state realizzate in collaborazione con AMD e che sono pensate per semplificare le operazioni di port da DirectX 12, soprattutto verso Linux. Quindi sulle prestazioni è attualmente impossibile pronunciarsi, ma vista l'esperienza di AMD con le librerie Mantle, che dovrebbero essere state usate come base per le nuove OpenGL, quantomeno a livello di esperienza, non dovremmo essere troppo distanti dalla concorrenza. L'impressione è che le Vulkan siano nate per incrementare l'appeal di SteamOS, il sistema operativo di Valve, verso gli sviluppatori, dandogli uno strumento potente e flessibile. In effetti uno dei rischi maggiori di un'operazione come quella delle Steam Machines e di SteamOS è proprio di non trovare supporto. Ma questa è un'altra storia. Per ora, a differenza di DirectX 12, non sono state presentate applicazioni di grande rilievo che usano Vulkan. Probabilmente è stato mostrato qualcosa negli incontri a porte chiuse, ma se parliamo di veri e propri videogiochi, siamo a secco. Microsoft da questo punto di vista è enormemente avanti, visto che è chiaro che tutti i titoli per Xbox One che usciranno a Natale sfrutteranno le nuove librerie. Inoltre, la mossa di regalare Windows 10 a chi possiede una copia originale di Windows 8 darà sicuramente un grande slancio alla diffusione delle DirectX 12, imponendole immediatamente sulla scena. Nonostante l'avallo di Valve e AMD, che gli hanno garantito il supporto dei grandi motori grafici come Unreal Engine 4, Unity e CryEngine, Khronos Group non dispone della stessa potenza di fuoco di Microsoft. Insomma, per ora la strada appare molto più in salita per le Vulkan, anche se la natura aperta che le caratterizza potrebbe fare la differenza sulla lunga distanza. Staremo a vedere chi vincerà la guerra delle API.