Miglioramenti

Cosa dobbiamo aspettarci dalle DirectX 10? I miglioramenti sono indirizzati ad aiutare gli sviluppatori e a soddisfare gli utenti: più prestazioni, più effetti, più coinvolgimento.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Miglioramenti

L'argomento di dibattito maggiore degli sviluppatori e dei produttori di hardware riguardava l'ammontare della dipendenza dalla CPU nelle versioni precedenti di Direct3D. Il problema della grafica è che si tratta di un sottosistema; CPU e GPU si relazionano con gli stessi componenti, come la memora principale del sistema. Inoltre, la scheda grafica deve relazionarsi con la CPU per la coordinazione e le istruzioni. Se è richiesta una situazione complicata o una geometria dinamica, la CPU dovrebbe richiedere di calcolare alcuni effetti che alterano l'oggetto, cosa che può avere un impatto anche sulle prestazioni.

Con l'implementazione di migliori verifiche, dall'amministrazione degli errori, resource mapping, accesso e persino un migliorato linguaggio shader, il problema più grande è da ricercarsi un altro posto. Blythe ha affermato che il tempo d'esecuzione delle API è cambiato poco negli scorsi 10 anni. Tre cose identificate causano un tempo di esecuzione più elevato nei driver:

  1. Comunicazione errata sui requisiti dell'applicazione
  2. Differenti stili di processo
  3. Accoppiamento errato tra le API e l'hardware

Un set di immagini dai contenuti sample DX 10 utilizzati nel testing da Microsoft

Operazioni/Cicli di comando Direct3D 9 Direct3D 10
Draw 1470 154
Bind VS Shader 6636 416
Set Constant 3297 916
Set Blend Function 787 530

La tabella qui sopra mostra il cambiamento tra Direct3D 9 e 10 nel numero di cicli di comando utilizzati nell'analisi di Blythe. Su un sistema Intel Pentium 4 del suo team, il numero di chiamate è stato ridotto di 10 volte. Ridurre l'overhead nei driver significa che c'è più tempo per la CPU per fare altro, operazioni più importanti, così come meno impatto sulla CPU per renderizzare le immagini. Questo permette alla CPU di dedicarsi ad altre attività, come un calcolo migliore dell'intelligenza artificiale (AI), calcoli degli effetti fisici, o mettere più oggetti sulla scena.

Uno dei maggiori miglioramenti si presenta in quelle che Microsot chiama Instancing 2.0. Instancing è dove oggetti multipli nella scena sono estremamente simili e tutti necessitano di essere scomposti, illuminati, texturizzati e così via. Sotto Direct3D 9, ogni unità della vostra armata in causa può richiedere la sua chiamata, aggiungendo carico al software e utilizzo della CPU. Sotto Direct3D 10, tutte le unità della vostra armata possono essere comandate con una singola chiamata. Questo permetterà ai giochi futuri di avere migliaia di istanze per inserire più unità nella battaglia e aggiungere realismo al gioco.

Un'immagine di Supreme Commander (THQ)