PDA

View Full Version : NOVITA' DX 10


tommylee1
08-05-2006, 16:48
Sul sito [H]ardOCP.com ha realizzato un articolo in cui si tenta di fare il punto su Direct3D 10, la prossima versione delle famose librerie grafiche di Microsoft che sarà integrata in Windows Vista. Al nuovo major update della API Direct3D sono stati attribuiti vari nomi, come Windows Graphics Foundation 2.0 (WGF) e DirectX Next, ma oggi comunemente ci si riferisce al nuovo set di librerie come Direct3D 10, sebbene il nome ufficiale della versione finale potrebbe venire semplicemente lasciato "DirectX 10 (DX10)". La nuova versione Direct3D segnerà un netto divario con il modello driver precedente DirectX 9.0, ed integrerà un sistema di virtualizzazione della memoria e uno scheduler, abbandonando l'attuale uso dei cosiddetti "capability bits" in favore di un modello di requisiti standard minimi in grado di definire un dispositivo hardware come "Direct3D 10 compatibile".

Direct3D 10, che includerà il nuovo Microsoft Shader Model 4.0, sarà in grado di visualizzare grafica fino a 8 volte più rapidamente di DirectX 9.0c, ma sarà tuttavia disponibile per i soli utenti del prossimo sistema operativo Windows Vista, atteso per inizio 2007. Vista integrerà anche le Directx 9.0L (Windows Graphics Foundation 1.0), le librerie usate oggi per Aero Glass, che serviranno per la compatibilità con i componenti DX9. Bisogna quindi pensare a due sistemi separati Direct X: DX 9.0L per hardware DX 9 e DX 10 per hardware "DirectX 10 capable". Per poter sfruttare DX10 sarà necessario avere Windows Vista, un hardware DX10 e ovviamente una applicazione che supporti DX10.

Uno dei più grandi limiti della API DirectX 9 è il cosiddetto "object overhead", dovuto all'uso dei cicli CPU per le mansioni di rendering prima dell'output video. La varie chiamate intermedie tra applicazione, API e driver, avvengono senza interazione con la GPU e sono gestite tutte dalla CPU, consumando risorse e creando potenziali colli di bottiglia. In queste procedure ci sono delle limitazioni sul numero massimo di oggetti visualizzati a schermo in singolo frame (personaggi, alberi. ecc.). Attualmente il numero massimo di oggetti per frame è di 500, oltre questo valore si può incorrere in crolli di performance.

Un altro aspetto negativo delle DirectX 9 e delle GPU attuali è la natura "definita" delle funzioni di pipeline. In una GPU tutte le funzioni di processing geometriche e pixel sono separate con un numero definito di processori (es. 8 unità fisse di processing geometrico e 48 unità fisse per i pixel) e questo si traduce in ulteriori colli di bottiglia.

DirectX 10 sarà una API completamente riscritta e porterà alla riduzione di gran parte dei problemi di "overhead", consentendo un aumento significativo del numero di "oggetti unici" visualizzati contemporaneamente sullo schermo e dando vita quindi a scenari più realistici. Minore "overhead" significherà anche maggiore velocità di esecuzione: attualmente con DirectX 9 le operazioni API+Driver impegnano fino al 40% del tempo di esecuzione totale, con DX10 questo dato si dimezzerà consentendo ai developer di arricchire maggiormente le loro applicazioni. Un'altra novità di DirectX 10 sarà un nuovo livello di shader nella pipeline, chiamato Geometry Shader, che si incastrerà fra il Vertex Shader e il Pixel Shader e permetterà di applicare delle funzioni direttamente su un insieme di poligoni invece che sui pixel o sui triangoli. Questo consentirà effetti avanzati in real-time come Displacement Mapping, Stencil Shadow Extrusion, Point-Sprite generato da punti, Motion Blur, e altri.

Le DirectX 10 sono state disegnate con in mente una architettura unificata. L'architettura API e GPU riunirà insieme le varie unità tradizionalmente separate (vertici, geometrica e pixel) in un singolo stage di processing, cosa che ridurrà notevolmente il fattore di latenza e il numero di cicli "sprecati". Anche se DX10 sarà in grado di usare una architettura GPU unificata, una "unified GPU" non sarà comunque necessaria per rispettare le specifiche DX10. La componente chiave che dovrà essere supportata sarà invece proprio il nuovo Geometry Shaker, in grado di lavorare in una architettura "fixed pipeline". L'idea alla base del nuovo tipo di architettura unica è quello di modificare il ruolo della GPU da "rendering only processor" a "compute processor", in grado cioè di gestire anche fisica, AI, animazione e molti altri processi legati all'esperienza videoludica.

appleroof
08-05-2006, 16:57
Interessante....l'ultimissima frase (legata al "nuovo" ruolo della gpu) mi richiama fortemente il ruolo del chip ageia nell'economia generale della gestione dei giochi...

wiltord
08-05-2006, 16:57
potevi usare questo 3d: http://www.hwupgrade.it/forum/showthread.php?t=1192664

tommylee1
08-05-2006, 16:59
potevi usare questo 3d: http://www.hwupgrade.it/forum/showthread.php?t=1192664
GRazie wiltord.

Athlon 64 3000+
08-05-2006, 17:04
interessante sintesi,peccato che essendo un taglio netto con il passato e sapendo che le software house devono vendere i giochi molte configirazioni prima che vengano sfruttate le dx 10 saremo già al 2008 inoltrato e ricordo che solo ora cominciano a sfruttare lo SM 3.0 e ci sono schede con la X1900 che non sono ancora sfruttate a dovere e che devono far vedere di che pasta sono fatte.
Sarebbe bello poter usare con i titoli dx 9 e xp R600 per vedere quanto eventualmente andrà più forte di R580 ma mi sa che rimarrà una utopia e a me sinceramente di passare a vista non mi interessa per niente dato che ho intenzione di rimanere su XP ancora per molto tempo.