Vertex Shader: maggiore efficienza
Iniziamo lanalisi approfondita delle unità di G70 anticipando da subito che
NVIDIA non ha scelto una linea di sviluppo rivoluzionaria, ma si è concentrata
nellanalizzare i pochi punti deboli di NV40 e risolverli. E stato scelto,
quindi, uno sviluppo di tipo evolutivo e del resto tale soluzione è del tutto
comprensibile visto che dal punto di vista delle API le schede GeForce 6x00 supportano
già tutto ciò che è disponibile.

Le unità di vertex shading sono dedicate alle operazioni i cui protagonisti sono i
vertici. Nellambito della grafica tridimensionale la primitiva più comunemente
utilizzata per modellare gli oggetti è il triangolo. Luso di più triangoli
affiancati tra loro dà vita alle superfici, le quali a loro volta compongono i vari
oggetti che vediamo sullo schermo. Le unità di vertex shading eseguono solitamente tutte
le operazioni di trasformazione necessarie per il corretto posizionamento di ogni singolo
vertice nei confronti degli assi X, Y e Z del piano cartesiano di riferimento
(normalmente, quello della camera). Naturalmente, a seconda del vertex shader caricato in
memoria in un determinato istante, queste unità possono andare oltre la semplice
trasformazione ed effettuare molteplici operazioni sui vertici. Una volta applicato il
vertex shading, il vertice in output viene processato dallunità dedicata al setup
dei triangoli. Questa unità esegue unoperazione denominata scan-line conversion:
essenzialmente si proietta ogni vertice sullo schermo e si identifica per ogni coordinata
x, y, z del vertice, la corrispondente coordinata x, y del pixel sullo schermo.
La tecnologia CineFX 4.0 di NVIDIA presenta alcune novità per le vertex unit e
lunità per il setup dei triangoli. Innanzitutto il numero di vertex unit è passato
da sei ad otto e, pertanto, a parità di frequenza di funzionamento, le capacità
computazionali sono aumentate. Inoltre ogni singola vertex unit è stata resa più veloce
del 30% nellesecuzione di operazioni scalari, mentre lunità per il setup dei
triangoli è stata rivista allo scopo di migliorare lefficienza complessiva e
garantire maggiori prestazioni durante loperazione di scan-line conversion.

Per quanto concerne le capacità e larchitettura delle unità ALU di vertex
shading, non riscontriamo particolari novità rispetto a quanto già visto con NV40. G70
è perfettamente compatibile con i vertex shaders in versione 3.0, comprese le operazioni
di branching ed di vertex texturing. Ogni ALU, infatti, ha la sua unità di Vertex Texture
Fetch, direttamente collegata ad una cache L2 dedicata alle texture, e di Branching.
Inoltre, così come per qualsiasi architettura compatibile con lo shader model 2.0, ogni
ALU è composta anche dalle classiche unità di calcolo FP32 scalare e FP32 vettoriale. |