Sei sulla pagina 1di 2

CAPITOLO 1

La scheda grafica VGA.


- 1.1 Generalità (panoramica delle schede grafiche) :

Prima di addentrarci nella programmazione di demo, occorre innanzitutto chiarire il concetto di


adattatore video o più comunemente detto scheda grafica.
Esso è un dispositivo elettronico dedicato alla visualizzazione delle immagini (grafica e testo) che
appaiono sul monitor del calcolatore.
Ogni scheda grafica è dotata di una propria memoria interna destinata a contenere le informazioni
relative alle immagini da visualizzare.
Essa viene scandita un certo numero di volte al secondo da un dispositivo chiamato CRTC
(Controllore del tubo a raggi catodici) , che provvede a far percorrere la superficie interna dello
schermo da un pennello virtuale, costituito fisicamente da una terna di raggi luminosi, rispettivamente
di colore rosso, verde e giallo con intensità variabile (tricromia RGB), in modo tale da eccitare i punti
dello schermo, ottenendo l'effetto di illuminarli con colori differenti.
Grazie quindi alla tecnica RGB, si pur generare e visualizzare sul nostro monitor qualsiasi sfumatura
cromatica, e modificando opportunamente il contenuto della memoria video, modificare o sostituire le
immagini mostrate a video.
La velocità, intesa come il numero di volte al secondo che il dispositivo CRTC effettua l'operazione di
scansione della memoria video e la relativa visualizzazione sul monitor, viene detta frequenza di
refresh, e varia da scheda a scheda a seconda della qualità dell'adattatore video.
Maggiore risulterà tale parametro, migliore sarà la stabilità delle immagini, che essendo ridisegnate un
numero elevato di volte nell'unità di tempo, riusciranno ad ingannare l'occhio umano, dando la
sensazione di staticità.
E' importante specificare che ogni scheda è caratterizzata da una risoluzione, intesa come il numero
totale di punti (detti pixel) con cui l'immagine viene riprodotta a video ed il relativo numero massimo di
colori utilizzati contemporaneamente.
All'aumentare della risoluzione si avrà un'immagine più dettagliata, divenendo i pixel talmente piccoli
da non dare più l'impressione della scalettatura; d'altro canto si avrà bisogno di una maggiore quantità
di memoria video per la memorizzazione delle informazioni grafiche.
Le schede video permettono l'impiego di una tavolozza ipotetica di colori, di dimensione fissa detta
PALETTE grafica, nella quale vengono definite le caratteristiche di ogni sfumatura mediante la
sopracitata tecnica RGB; in tal modo si riduce il numero massimo di colori contemporaneamente
utilizzabili, ma si ottengono notevoli incrementi di velocità, risparmi di memoria e soprattutto una
maggiore semplicità di programmazione, nei confronti della tecnica a rappresentazione libera del
colore in cui per ogni punto dello schermo vengono descritte tutte e tre le componenti direttamente
nella memoria video.
Nei modelli più recenti di scheda grafiche é stata introdotta una ottimizzazione della velocità mediante
l'inserimento, nell'architettura dello stesso adattatore video, di vere e proprie unità autonome dedicate al
tracciamento di simboli grafici particolari, come figure geometriche di base, che liberano la CPU dai
gravosi compiti di calcolo, velocizzando l'accesso in memoria video con un conseguente incremento
delle prestazioni che varia dal 20 al 50%.
Tale hardware detto processore grafico di supporto, si occupa in certi casi della generazione di
poligoni tridimensionali in tempo reale, facilitando il programmatore nell’implementazione di
1
animazioni di tal genere, ottenendo velocità estremamente superiori a quelle che si potrebbero gestire
tramite software.
Alcuni processori hanno cablati algoritmi di elaborazione delle immagini, come smussamento dei
poligoni (di tipo flat, gouraud ecc..) , sfumature (anti aliasing), retinature, e molti altri effetti che
richiederebbero un consistente tempo di calcolo da parte del microprocessore.
Con l'avvento della multimedialità, è sorta l'esigenza di elaborare filmati ad una buona risoluzione in
maniera abbastanza fluida (basti pensare ai film su CD-ROM o alle videoconferenze tramite la rete
Internet), quindi per far si che lo scambio dei dati avvenga in maniera veloce, sono nati degli standard
di compressione delle informazioni, ad esempio l'MPEG che a volte viene emulato in real time dalla
nostra scheda.

- 1.2 Specifiche della scheda grafica VGA :

Ora che abbiamo introdotto il concetto generale di scheda grafica, dobbiamo focalizzare il nostro
interesse sul modello VGA, poiché sarà questo tipo di adattatore video che utilizzeremo per la
realizzazione delle nostre demo a basso livello.
La sigla VGA, che sta per Video Graphic Array, ne mette in risalto la caratteristica principale,
l’organizzazione della memoria video interna, atta a contenere le informazioni riguardanti le immagini
da visualizzare, che é organizzata ad array, cioè come un vettore o insieme omogeneo di elementi
contigui allocati in maniera sequenziale (uno di fianco all'altro), contrassegnati da un indice numerico
corrispondente alla loro posizione relativa rispetto a quella iniziale (indirizzo di memoria del primo
elemento).
La risoluzione di tale scheda é di 64000 pixel, disposti sulla superficie dello schermo come un
rettangolo di base 320 pixel e altezza 200 pixel con un metodo indicizzato di utilizzo del colore tramite
PALETTE RGB che permette l'utilizzo simultaneo di 256 sfumature scelte tra le 262.144 disponibili.
La VGA é una periferica memory mapped, ovvero utilizza un buffer allocato nella memoria RAM di
sistema per stabilire lo scambio di dati tra CPU e memoria video ; essa mette inoltre a disposizione
dello sviluppatore un insieme di dispositivi programmabili modificando i relativi registri interni a loro
volta accessibili mediante delle porte hardware, come ad esempio quelli relativi al settaggio della
modalità grafica, della palette dei colori, allo scorrimento della memoria, ecc…
Tra i registri di particolare interesse, va menzionato quello relativo al pennello elettronico, che segnala
lo stato di avanzamento dell’operazione di ritracciamento verticale ed orizzontale dell’immagine, utile
nelle animazioni per evitare il problema dello sfarfallio.
Una delle caratteristiche, che rende la VGA una scheda video universale, è data dal fatto che
programmando i registri interni, si possono implementare delle risoluzioni normalmente non
contemplate dalla scheda, sfruttando al limite la capacità di memorizzazione della scheda stessa.
La modalità non standard più utilizzata è il cosiddetto X-Mode, che permette di ottenere risoluzioni
variabili da un minimo di 80 x 8 ad un massimo di 400 x 300 pixel.
Come già citato, ci concentreremo sulla modalità standard 320 x 200 x 256 colori, motivati
dall’estrema semplicità di programmazione e dall’elevata velocità, che ci permetteranno di ottenere
buone prestazioni utilizzando un linguaggio di medio-basso livello come il C.
A questo punto ciò che ci interessa è comprendere come utilizzare tale dispositivo per illuminare un
pixel dello schermo con il colore che desideriamo.

Potrebbero piacerti anche