Articoli e news    Prezzi

DirectX un freno per i giochi PC, vanno eliminate

10:33 - 16 marzo 2011 di Manolo De Agostini

In un'intervista un manager di AMD svela come molti sviluppatori di giochi desiderino veder sparire le DirectX a favore di una programmazione diretta sull'hardware a basso livello.

Senza le DirectX e con una programmazione diretta al cuore dell'hardware, i giochi potrebbero sfruttare meglio l'hardware ed essere visivamente più appaganti. Richard Huddy, manager per le relazioni con gli sviluppatori della divisione GPU di AMD, svela in un'intervista a Bit-tech alcuni lati nascosti del mondo dei videogiochi.

"È divertente. Spesso con le schede video di fascia alta abbiamo almeno dieci volte la potenza di una Xbox 360 o una PS3, tuttavia è chiaro che i giochi non appaiono dieci volte migliori. In misura rilevante questo dipende dal fatto, in un modo o nell'altro, per buone o cattive ragioni - la maggior parte buone - le DirectX sono d'intralcio".

Tra le richieste più comuni fatte dagli sviluppatori c'è quella di eliminare le API. "Penso che gli sviluppatori fossero attratti da Larrabee (il progetto di GPGPU Intel, abbandonato) non per l'hardware - caldo, lento e poco potente - ma per il software, in altre parole la possibilità di avere il controllo totale su un sistema. Offrendo l'accesso all'hardware a un livello molto basso, si dà agli sviluppatori di giochi la possibilità di innovare e questo mette pressione su Microsoft, non ci sono dubbi".

Le API 3D non sono, però, il male totale. Hanno i loro vantaggi, come la possibilità di far funzionare i giochi su una vasta gamma di hardware oppure consentire l'accesso a nuove tecnologie con maggiore facilità. Il problema è l'overhead prestazionale delle DirectX, che "deprime gli sviluppatori".

"Un layer software offre sicurezza, ma sfortunatamente tende a sottrarre un bel po' di prestazioni e soprattutto la possibilità d'innovare", ha aggiunto Huddy. L'introduzione degli shader, nel 2002, non ha portato grande varietà grafica.

"Le persone usano gli shader nelle modalità più scontate. Ciò significa che hanno usato gli shader per una convergenza grafica e molti giochi offrono lo stesso di look and feel. Togliendo le API le persone possono renderizzare realmente tutto ciò che immaginano e probabilmente in questo tipo di situazione vedremo più innovazione".

L'impatto prestazionale delle DirectX è variabile, secondo Huddy. Su console si possono disegnare 10 o 20 mila parti geometriche in frame, a 30 o 60 fps. Su PC non se ne possono disegnare più di 2/3 mila senza avere problemi prestazionali. Le DirectX, con l'ultima versione, sono possono gestire più chiamate, ma ancora non basta.

La possibilità di programmare direttamente sull'hardware, senza passare tramite API intermedie, consente soprattutto nel ciclo finale della vita di una console di sfruttare al meglio le risorse hardware. Tutto è facilitato dal fatto che le console hanno un hardware ben definito, mentre su PC ci sono differenti architetture grafiche, che lavorano in modo diverso. Questo potrebbe essere un grande problema per gli sviluppatori.

"Il problema con il PC è che idealmente si vuole che non vada troppo in crash, e se uno sviluppatore di giochi è troppo entusiasta del modo in cui programma direttamente sull'hardware, questo si può tradurre in molte difficoltà per noi che, come azienda di hardware, cerchiamo di mantenere il PC stabile".

Michael Glueck, direttore tecnico per la ricerca e sviluppo, ha espresso interesse per le parole di Huddy. Glueck rileva inoltre che alcuni anni fa, tutte le operazioni critiche per le prestazioni della CPU erano fatte dal programmatore, a partire dalle ottimizzazioni assembly a basso livello fino ad arrivare thread di alto livello e alla gestione della memoria.

Battlefield 3
Immagini 11 -  12
 
Battlefield 3 1 Battlefield 3 2 Battlefield 3 3 Battlefield 3 4 Battlefield 3 5 Battlefield 3 6 Battlefield 3 7 Battlefield 3 8 Battlefield 3 9 Battlefield 3 10
Battlefield 3 11
 

"Ora che il mondo del computing fonde CPU e GPU, si perde un sacco di tempo, usando strati di API ai livelli più alti - come OpenCL, CUDA o Direct Compute - per eseguire algoritmi meno intelligenti sulle GPU, perché sono gestiti più rapidamente che su una CPU".

"Ha senso avere una struttura standardizzata, ma preferiremmo anche che questa API fosse il più sottile possibile per consentirci un accesso a un più basso livello dell'hardware. Questo non solo migliorerà le prestazioni, ma permetterà anche un uso migliore delle funzionalità hardware disponibili".

Glueck concorda sul fatto che le API potrebbero diventare sempre meno importanti per gli sviluppatori di videogiochi nei prossimi anni. "Le API sono fatte per soddisfare un particolare design hardware. Quando sempre più GPU diventeranno general purpose, dubito che saranno aggiunte unità a funzione fissa".

Condividi:   

Commenti

Aggiungi un tuo commento
1/9 avanti    
rwen 16/03/2011 10:52
 
ognuno si sveglia e dice quello che vuole. l'altra settimana John Carmack talentuoso sviluppatore di ID ha detto che directx è meglio di opengl, oggi arriva quest'altro e dice "no , le directx frenano i giochi, meglio andare direttamente sull'hardware" , poi domani si sveglierà un altro e dirà "senza API la programmazione risulta più lunga e costosa" . Non sono mai pari questi qui
sandrixroma 16/03/2011 10:52
 
+68 
"È divertente. Spesso con le schede video di fascia alta abbiamo almeno dieci volte la potenza di una Xbox 360 o una PS3, tuttavia è chiaro che i giochi non appaiono dieci volte migliori."

a me non fa ridere
okorop 16/03/2011 10:55
 
Le ultime API user friendly eran le dx9, le successive dx10 e dx10.1 solo uno specchio per le allodole come le ultime dx11, concordo pienamente con le parole di Huddy, senza API sarebbe migliore la programmazione
CrazyScientist 16/03/2011 10:57
 
+5 
"Le DirectX, con l'ultima versione, SONO possono gestire più chiamate, ma ancora non basta."

c'è un parola fuori posto
Uff 16/03/2011 11:00
 
+10 
La maggior potenza dei PC non si rispecchia nei giochi? Ci credo, finchè mi fate conversioni (pure male ottimizzate) da console non è che si possa pretendere miracoli.
Iniziate ad abbandonare le DirectX 9 e realizzate engine nativi in Dx11, allora forse qualcosa si inizierà a muovere in tal senso.
Mr Neptune 16/03/2011 11:01
 
+11 
A me sembra invece un discorso sensato, ma non nuovo. E' chiaro che per i PC debba esistere un layer software che svincoli gli sviluppatori dal disegnare i giochi per uno specifico Hardware, questo però porta delle ovvie conseguenze sulle prestazioni..
saeba77 16/03/2011 11:01
 
-12 
le directx sono l'unico modo per fare giochi multipiattaforma
togli quelle e su pc vedremo un gioco al mese al massimo
A causa dei voti negativi ricevuti dagli utenti, questo commento non è visibile. Clicca qui per leggerlo.
mauishark 16/03/2011 11:02
 
-13 
"offrire l'accesso Hardware ad un livello molto basso" di preciso cosa vuol dire?
....che se una casa produttrice taglia i fondi ad un gioco e questo esce mezzo buggato mi fotte la VGA?
A causa dei voti negativi ricevuti dagli utenti, questo commento non è visibile. Clicca qui per leggerlo.
JOHNNYMETA 16/03/2011 11:03
 
+19 
Questi programmatori sono assurdi: perché devi far sparire le DirectX o le OpenGL? Se vogliono una programmazione diretta sull'hardware a basso livello che la facciano chi glielo vieta?
Le DirectX sono un'opzione, come OpenGL, se loro sono capaci di programmare sull'hardware facendo a meno delle API, o come sulle console, beati loro ma mica devi far sparire le librerie anche a chi invece le usa.
oldestboy 16/03/2011 11:03
 
+13 
questa e' una distriba vecchia come l'informatica,

metal bashing vs api!

il mondo si e' diretto verso le api, per un problema di economie di scala, ma e' innegabile che la programmazione dell'hardware, per un programmatore e' una vera goduria
1/9 avanti    
Accedi o  registrati.
Nome utente:
Password:
Segnala TomsHW

Correlazioni

  Categoria: Giochi per PC