Video 2D  


La funzione degli acceleratori grafici è quella di velocizzare la riproduzione di immagini in formato 2D; ma come è fatto un acceleratore grafico  ?

Schema di una scheda video  

Il "motore" è rappresentato dal chipset video, un vero e proprio processore preposto a tutti i calcoli matematici che permettono di generare l'immagine; ad esso è affiancato, proprio come se la scheda video fosse una riproduzione in scala di una motherboard, il BIOS, contenente le istruzioni elementari che permettono alla scheda video di essere riconosciuta dalle altre periferiche all'accensione, e la memoria di sistema, che, proprio come per le motherboard, può essere di diversi tipi: DRAM (Dynamic RAM), EDO DRAM (Extended Data Out DRAM), SDRAM (Synchronous DRAM), SGRAM (Synchronous Graphics RAM), MDRAM (Multibank DRAM), RDRAM (Rambus DRAM), VRAM (Video RAM), EDO VRAM (Extended Data Out VRAM), WRAM (Window RAM). Il Ramdac (Random Access Memory Digital-to-Analog Converter) preleva i segnali digitali provenienti dalla memoria video e li converte in segnali analogici che manda al monitor; questo componente è molto importante perché permette di determinare il massimo refresh (cioè numero di immagini visualizzate ogni secondo) supportato dalla scheda video per ogni risoluzione e profondità di colore. Il Bus Connector è il canale attraverso il quale motherboard e scheda video si scambiano i dati; da più di due anni a questa parte si utilizza solo il bus PCI mentre sta prendendo piede il nuovo Bus Connector AGP; il VGA Connector permette di collegare monitor e scheda video, mentre il VESA Feature Connector permette di collegare alla scheda video delle espansioni quali sintonizzatori TV, schede di elaborazione video, riproduttori MPEG. I Sockets, infine, permettono di espandere la memoria video qualora si abbia l'esigenza di lavorare a risoluzioni elevate a 16 o 32 bit di profondità colore. 

La procedura attraverso la quale un'immagine viene rappresentata sul monitor è la seguente: 

1) il software chiede che un certo tipo di immagine (ad esempio una sfera di colore rosso su uno sfondo bianco) venga rappresentata; 

2) i driver video determinano se tale immagine possa essere accelerata in qualche modo dal chipset video; se la risposta è positiva l'immagine intera viene processata dal chipset video; viceversa se alcune caratteristiche dell'immagine non possono essere accelerate dal chipset video a tale funzione supplisce la cpu, comunque più lenta. Quando il software richiede che un'immagine venga rappresentata, la chiamata viene girata al sistema operativo; se esso è Windows ciò avviene attraverso chiamate alla GDI (Graphics Device Interface), che gestisce molte delle funzioni di disegno (bit block transfers, pattern fills, curves,...), al DCI (Display Control Interface), che gestisce i video e le animazioni, e ai driver Direct X (Direct Draw e Direct Video), che se installati sostituiscono le funzioni DCI e aggiungono una API per grafica 3D, Direct 3D; i driver determinano quali caratteristiche grafiche possano essere accelerate via hardware e quali invece debbano essere processate dalla cpu. 

3) l'immagine viene calcolata e memorizzata nel frame buffer, cioè nella memoria della scheda video; 

4) l'immagine viene prelevata dal frame buffer e convertita nel Ramdac da formato digitale in quello analogico per essere così inviata al monitor; il monitor riceve il segnale analogico e l'immagine appare sullo schermo. 

L'immagine può essere visualizzata a diverse risoluzioni; la risoluzione è il numero di punti sui due lati del monitor che vengono visualizzati: se viene impostata la risoluzione di 800x600 questo vuol dire che sul monitor verrà riprodotta una schermata che ha lato orizzontale composto da 800 punti e lato verticale da 600. Data una dimensione in pollici del monitor, al crescere della risoluzione i singoli elementi che vengono rapresentati diminuiranno di dimensione (appaiono più piccoli) ma aumenterà l'area visiva totale cioè il numero di oggetti che possono essere visualizzati utilizzando una sola schermata. I monitor hanno una risoluzione massima supportata ma essa in genere è eccessiva rispetto alla risoluzione ideale per lavorare: molti 15 pollici permettono di operare a 1280x1024 anche se la risoluzione ideale per monitor di questa taglia è quella di 800x600. Il quantitativo di memoria installato e i limiti propri del monitor determinano la risoluzione massima che la scheda video permette di visualizzare: 
 

Risoluzione 2D / profondità colore 8 bit (256 colori) 16 bit (65.536 colori) 24 bit (16.8 milioni di colori) 32 bit (16.8 milioni di colori)
640x480 0.29 Mbyte 0.59 Mbyte 0.88 Mbyte 1.17 Mbyte
800x600 0.46 Mbyte 0.92 Mbyte 1.37 Mbyte 1.83 Mbyte
1024x768 0.75 Mbyte 1.50 Mbyte 2.25 Mbyte 3.00 Mbyte
1152x864 0.95 Mbyte 1.90 Mbyte 2.85 Mbyte 3.80 Mbyte
1280x1024 1.25 Mbyte 2.50 Mbyte 3.75 Mbyte 5.00 Mbyte
1600x1200 1.83 Mbyte 3.66 Mbyte 5.49 Mbyte 7.32 Mbyte
1920x1080 1.98 Mbyte 3.96 Mbyte 5.93 Mbyte 7.91 Mbyte
1920x1200 2.20Mbyte 4.39 Mbyte 6.59 Mbyte 8.79 Mbyte

 
Le prestazioni della scheda video risentono molto, oltre che del chipset video, anche del tipo di memoria installato: DRAM (Dynamic RAM), EDO DRAM (Extended Data Out DRAM), SDRAM (Synchronous DRAM), SGRAM (Synchronous Graphics RAM), MDRAM (Multibank DRAM), e RDRAM (Rambus DRAM) sono memorie del tipo single-ported, mentre RAM (Video RAM), EDO VRAM (Extended Data Out VRAM) e WRAM (Window RAM) sono del tipo dual-ported; la differenza sostanziale sta nel fatto che le memorie di tipo dual-ported possono essere nello stesso tempo scritte dal chipset e lette dal Ramdac, a tutto vantaggio della velocità di generazione delle immagini; mentre con risoluzioni limitate e basso numero di colori (tipicamente fino a 65.536 colori) le prestazioni tra i diversi tipi di memoria tendono a equivalersi, oltre la risoluzione di 1024x768 in true color (24 o 32 bit) le schede dotate di  memorie di tipo single-ported tendono a perdere parecchio terreno nei confronti di quelle che montano memoria dual-ported. 

Il refresh rate è un altro indicatore delle prestazioni di una scheda; esistono due tipi di refresh rate, orizzontale e verticale, anche se il più interessante è il secondo che indica, misurando in Hz, quante volte l'immagine viene ridisegnata ogni secondo. Più il refresh rate è elevato migliore sarà la qualità visiva perché l'immagine sarà più stabile, anche se è necessario ricordare che a 70 Hz di refresh l'occhio umano non avverte differenza e non riesce a notare sfarfallio dell'immagine; più memoria video e Ramdac sono veloci maggiore sarà la frequenza di refresh massima raggiungibile alle diverse risoluzioni (al crescere della risoluzione il refresh massino tende a diminuire); infine, non bisogna dimenticare che il primo limite a frequenze di refresh elevate è il monitor che se non supporta il refresh impostato perché oltre le sue specifiche tecniche non fa altro che sfarfallare l'immagine e, nei casi più gravi, rompersi. 

Da ultimo, all'aumentare della frequenza di bus aumenta la velocità in Mhz del bus PCI; essendo la scheda video collegata per mezzo di questo bus anch'essa avrà un aumento delle prestazioni qualora la sua frequenza venga aumentata.