Video 2D
La funzione degli acceleratori grafici è quella di velocizzare la riproduzione di immagini in formato 2D; ma come è fatto un acceleratore grafico ?
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.