Perchè integrare le DX10 in Vista?

Abbiamo messo a confronto Windows Vista e XP analizzando le prestazioni grafiche dei videogiochi con i correnti driver AMD e Nvidia.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Perchè integrare le DX10 in Vista?

Why Is DX10 In Vista?

Lo scorso anno abbiamo pubblicato un articolo dedicato alle DirectX 10 e sull'hardware sviluppato attorno a questa specifica, analizzando la parte grafica delle API DirectX 10. Ci sono cinque cambiamenti importanti:

  • Maggiori possibilità per i programmatori (Shader Model 4.0 e Geometry Shaders)
  • Specifiche hardware fisse
  • Prestazioni migliorate (cicli di comando ridotti per frame)
  • Insieme di istruzioni unificate (HLSL 10)
  • Stream I/O (il Geometry Shader può scrivere nella memoria)

Una migliore codifica e delle linee guide ben definite faranno la felicità degli sviluppatori di software e hardware, mentre al consumatore interessano gli ultimi tre punti dell'architettura a shader unificati D3D10. Non parliamo quindi dell'hardware, ma di ciò che potrà fare.

Amministrare le operazioni attraverso un'approccio unificato ha un senso logico: perchè avere unità fisse che possono lavorare solamente con pixel o vertex shader quando si può scalare il numero a piacere a seconda del carico di lavoro? L'intera istruzione unificata è disponibile per tutti i processori streaming o in virgola mobile, cambiando funzionalità al volo. Questa flessibilità permette al G80 di Nvidia (GeForce 8800) di amministrare un carico doppio rispetto alla precedente generazione. Dal G70 al G80 il numero dei transistor è raddoppiato e le rese normali sono lontane dal rapporto 1:1. Anzichè essere frenato in un'area specifica, il core può mutare per raccogliere le sfide che gli vengono proposte.

From "The Direct3D 10 System" by David Blythe

Un potente Input Assembler (IA) fornisce ai componenti del processore abbastanza threads per mantenerli occupati al 100%. L'IA etichetta i dati in modo che possano essere utilizzati insieme a un altro thread o persino replicarli per ridurre il lavoro di riordinamento. Questa operazione viene chiamata instancing. L'IA può creare ed etichettare centinaia se non migliaia di oggetti completi e inondare una scena: con le architetture di precedente generazione questo non era possibile.

Grazie ai miglioramenti inseriti è stato possibile riconsiderare il modo con cui il processore amministra il carico. A complemento di queste operazioni, sono stati effettuati cambiamenti per minimizzare l'overhead causato dall'uso con drive di grandi dimensioni. Un overhead ridotto permette alla CPU e agli altri componenti di eseguire un lavoro più intenso in piena libertà. Nel caso dei giochi, potrebbe significare frame per secondo maggiori, una migliore qualità d'immagine o una simulazione fisica più convincente e realistica con un frame rate accettabile.

Infine ci sono i Geometry Shader (GS) dei quali si avvantaggeranno i titoli futuri. Il potere dei GS deriva dalla loro abilità di scrivere nella memoria, utilizzando uno Stream Output (SO). In questo modo i geometry shader possono leggere i dati all'interno del processo in ogni sua parte, facendo sì che i dati provenienti da IA e Vertex Shader possano essere bloccati. I dati di output delle scene potranno essere completamente manipolati permettendo cambiamenti in tempo reale.