AMD: libertà sviluppatori come su console senza DirectX

AMD: libertà sviluppatori come su console senza DirectX

Secondo Richard Huddy di AMD, gli sviluppatori di videogiochi su console hanno maggiore libertà perché possono accedere direttamente all'hardware.

di pubblicata il , alle 11:25 nel canale Videogames
AMD
 
52 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
sintopatataelettronica22 Marzo 2011, 14:06 #51
Originariamente inviato da: Foglia Morta
Hai centrato il punto

Comunque qui Huddy e un programmatore dei DICE si sono espressi riguardo il tema trattato nella news : http://forum.beyond3d.com/showpost....mp;postcount=63


Leggete questo, vah.

1) Huddy dice che non è AMD ad esprimere lamentele riguardo le DirectX.. ma che sempre più spesso sono gli sviluppatori e i programmatori che si lamentano con lui riguardo ai grossi limiti delle API microsoft.

2)Il programmatore dei DICE non dice nemmeno lui che le directX sono inutili, dice che a molte software house di basso e medio livello fanno indubbiamente comodo: è alle software house di alto livello, che vorrebbero innovare e proporre qualcosa di inedito, che stanno strette, in quanto ti costringono ad usare esclusivamente quello che i progettisti delle API hanno inserito, e non quello che tu con la tua creatività e capacità potresti invece fare sfruttando le potenzialità dell'hardware grafico.

Detto questo, mi sembrano cose sensate e tutt'altro che banali, quelle che i due han tirato fuori..il programmatore dei DICE ringrazia persino Huddy per aver avuto il coraggio di tirare fuori pubblicamente la questione..
avvelenato22 Marzo 2011, 17:15 #52
Originariamente inviato da: blackshard
Beh però middleware non significa automaticamente non ottimizzato. Per esempio, quella che fu Ageia forniva un middleware per la fisica, che utilizzava una scheda acceleratrice apposita. Anche un motore grafico è un middleware, e giustamente al giorno d'oggi è diventato così così costoso produrre un motore grafico che un'azienda lo produce e un'altra lo usa nei suoi prodotti.
in realtà poco dopo ti smentisci da solo
middleware per definizione è meno ottimizzato.
Forse mi hai frainteso e pensavi che dicessi "male ottimizzato". Questo è un problema diverso seppur afferente, visto che con 10000 layers diversi l'ottimizzazione e la buona scrittura del software da parte di diverse sw houses affronta problematiche differenti da chi si scrive tutta la pila software da solo, e quindi capita sovente che l'utilizzo di layers su layers portino ad una ottimizzazione tutt'altro che ottimale.
Ma quando parlo di "meno ottimizzato" intendo dire che il middleware giocoforza è un trade, un compromesso, dove si cede un po' di prestazioni in cambio di facilità di scrittura del software, portabilità, affidabilità, futureproofness, ecc...
ed è una cosa che funziona perché è proprio grazie a questo che si riescono a fare i giochi e gli applicativi, è grazie a questo che si riesce a pubblicarli e commercializzarli.
Originariamente inviato da: blackshard
Si, però pensa ad un attimo a quanti livelli di astrazione abbiamo per accedere alle risorse di una periferica. A spanne, quelli che mi vengono in mente:

- Driver
- API del SO
- API del sottosistema (grafico, audio, etc...)
- API del runtime (vc++ solitamente)
- Eventualmente interprete JIT (.NET oppure JAVA).

Insomma, tutti livelli che devono essere risaliti e che mangiano cicli di clock a iosa.
ecco per l'appunto questo dimostra quanto si diminuisca in efficienza all'aumentare dell'astrazione. Prendi i cellulari android. Il software è in java e viene compilato/interpretato jit dal so. Una gran perdita di efficienza: gli sviluppatori dovrebbero avere la possibilità di scrivere le proprie routines direttamente in basso livello. Ma i produttori avrebbero i soldi per pagare gli sviluppatori affinché lo facciano? Avrebbero un business che giustificherebbe l'investimento necessario?
Originariamente inviato da: blackshard


Non saprei... il punto è che con l'hardware del tipo video c'è un problema di fondo che non c'è con le CPU: non esiste un'ISA condivisa. Non c'è un insieme di istruzioni condiviso, e quindi hai il problema della compatibilità. Siccome i problemi dell'hardware si pagano nel software, c'è bisogno di un layer di astrazione per fare quello che si vuole fare.

il problema non è tanto quello, il problema è solamente economico.
Secondo il signor AMD qui nell'articolo, lo sviluppatore vorrebbe avere accesso libero all'hardware, all'isa e quant'altro, cosa che attualmente ist verboten immagino per questioni di licenze o altro.
poniamo che amd si rilassi e decida di licenziare a un costo ragionevole l'accesso diretto hw sulle proprie schede grafiche: esiste la possibilità che una software house dedichi un milioncino di dollari o due (su budget che oramai sfiorano le decine di milioni) per creare un bypass alle dx sulle schede amd "liberate", considerando che:
1) è soltanto una frazione del target che possiede quello specifico hw
2) nuovo hw significa necessità di investire ulteriore denaro per portare il proprio prodotto su di esso, altrimenti si rischia che sulle schede amd serie 6xxx il gioco giri fighissimo e sulle schede 7xxx oppure 8xxx anziché migliorare il gioco peggiora
3) amd potrebbe avere interesse a finanziare questo discorso per differenziarsi dalla concorrenza, ma se non finanziasse un supporto a lungo termine sull'hw nuovo che produce potrebbe rivelarsi un boomerang, ergo ci si vincola a spendere un fracco di soldi in più per videogioco per nuova architettura grafica
4) se già le swhouse di videogiochi faticano a rilasciare le patches anche quando i giochi sono palesemente buggati, te lo immagini che un gioco te lo possano supportare con aggiornamenti e quant'altro per almeno due generazioni ulteriori di hw grafico??? e il tutto solo per far andare la grafica un po' meglio.... ma dai su
Originariamente inviato da: blackshard

Huddy, nell'intervista originale, cita anche il progetto Larrabee:

"'I certainly hear this in my conversations with games developers,' he says, 'and I guess it was actually the primary appeal of Larrabee to developers – not the hardware, which was hot and slow and unimpressive, but the software – being able to have total control over the machine, which is what the very best games developers want. By giving you access to the hardware at the very low level, you give games developers a chance to innovate, and that's going to put pressure on Microsoft – no doubt at all."

e pone l'accento sul lato software che, con una ISA standard, permette di fare tutto quel che si vuole con quell'hardware perchè così il programmatore quell'hardware può programmarlo.

Attualmente possiamo spremere le CPU fino all'osso (OS permettendo) perchè esse eseguono il codice scritto da noi espressamente compilato in codice macchina per loro. Non possiamo spremere le GPU fino all'osso perchè esse eseguono comandi fissi determinati dal driver che le comanda, e in sequenza dalle API che comandano il driver. Huddy parla anche del fatto che gli shader avrebbero dovuto cambiare questo andazzo (e qui si lega il paragone fatto con CUDA) perchè permettono di programmare la GPU per i compiti più disparati, ma anche qui cita l'appiattimento delle possibilità obbligato dalle API DirectX.

La bellezza delle soluzioni Fusion di seconda generazione e di non so quale altra invenzione intel tirerà fuori, è che finalmente potremo avere fra le mani un'ISA SIMD come dio comanda per far fare alla CPU quello che oggi fa una GPU. Lo dico sempre che, in questo momento, il processore Cell è un pioniere: dove bisogna macinare conti in parallelo è molto apprezzato e guarda caso le GPU sono molto apprezzate negli stessi ambiti.

Spero di non aver detto troppe cazzate, chi più ne sa corregga.


io sono contento se ci si allarga un po' dalle dx, ma secondo me non ne esce granché, non credo che ci siano i presupposti.
L'ideale sarebbe che qualcuno tirasse fuori qualcosa di alternativo e concorrente, in modo da tornare ai tempi in cui nelle opzioni del videogioco potevi scegliere tra opengl e directx; però mi ricordo che all'epoca gli sviluppatori si lamentavano che dovevano creare due motori grafici!

Pensare quindi che gli sviluppatori possano mai abbandonare le dx è pura illusione, sognare che possano giostrare qualcos'altro oltre a quelle credo che per quanto bello la storia ci ha già dato dimostrazione che è commercialmente molto difficile.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^