Test & techniek
Videosubsysteem in de notebook
Kijk toch eens! (Deel 1)
Ik zie — dus heb ik een notebook met een videosubsysteem
in het bezit. Dit bijzonder complexe systeem binnenin de
notebook zorgt er namelijk voor dat er op het liquid crystal
display ook werkelijk beeld verschijnt. Het klinkt simpel, maar
toch is het een technisch meesterwerkje, dat we in twee delen
uitgebreid en goed willen uitleggen.
Jörg Wester
 |
ATI’s
Rage Mobility M1 heeft
8 MB SDRAM op zijn board
geïntegreerd. Het model ‘M’
heeft 4 MB, model ‘P’ heeft extern
videogeheugen nodig, dat de notebook-
fabrikant op het moederbord zet. Een 64 bit
bus verbindt de (vierkante) controller uit
ATI’s fabricage met de vier
(rechthoekige) SDRAM-modules. |
| De
taken van het videosubsysteem |
|
Rendering |
Renderen =
maken. In dit verband wordt de berekening van 3D-scènes
bedoeld, waarbij de grafische controller van verlichting,
nevel, schaduw, texturen etc. een tweedimensionale
projectie van een driedimensionale scène maakt. |
|
Dithering |
Dient voor de
schijnbare verhoging van het aantal kleurgradaties,
doordat primaire kleuren zo op een klein pixelblok worden
verdeeld, dat het oog het als een tussenkleur waarneemt. |
|
Setup-engine |
Aanduiding voor
dat deel van de grafische controller, dat het
‘draadmodel’ van een 3D-scène berekent. |
|
Trilineair filteren |
Verhindert bij
de beelduitvoer de trapvorming van schuin lopende
lijnen/texturen op de rechthoekmatrix van de display. |
|
Anti-aliasing |
Randen worden
gladgestreken door fijne kleurschakeringen. |
|
SBS |
Side Band
Signaling, een technologie die bij de AGP wordt gebruikt
en de doorvoer op de AGP verhoogt: extra besturingslijnen
zorgen ervoor dat de stuursignalen niet via de datalijnen
geleid hoeven te worden. Hiermee kan de grafische doorvoer
ten alle tijde over de totale bandbreedte van het 32 bit
datapad beschikken. |
|
Anisotroop filteren |
‘Levende’
texturen, bijvoorbeeld huid, dat al naargelang de beweging
van een oppervlak meegevormd wordt. |
|
Specular Lighting |
Een verstrooide
lichtreflectie, die op een glanzend (reflecterend)
oppervlak valt. |
|
Bump-mapping |
Een textuur,
die de illusie van een voelbare oppervlaktestructuur biedt
(sinaasappel etc.) |
|
Sprite-anti-aliasing |
Anti-aliasing
van een afgebakend object (sprites), b.v. 32 x 32 pixels,
256 x 256 pixels. |
|
Diffuse shading |
Shading
beschrijft de structuur, in dit geval een diffuus, niet
reflecterend oppervlak met schaduw- resp. kleurverloop. In
plaats van een homogeen zwart vlak wordt de plaats waarop
de schaduw valt, doorschijnend getekend. |
|
Anisotrope filtering |
Deze
filtertechniek zorgt ervoor dat texturen ook onder scherpe
kijkhoeken aanschouwelijk en teksten erop leesbaar
blijven. |
|
3D-alphablending |
Alphablending
maakt het mogelijk een attribuut zichtbaar, deels
zichtbaar of onzichtbaar weer te geven. |
|
Gammacorrectie |
Past met een
exponentiële functie de kathodestraal zo aan, dat een
verdubbeling van de luminantie op het beeldscherm
subjectief met de verdubbeling van de
helderheidsgewaarwording van het menselijke oog
overeenkomt. |
|
Vertex- en table-fog |
Afstandsafhankelijk
neveleffect aan de hand van een tabel of aan de hand van
afzonderlijke elementen (vertex) van een polygoon. |
|
Reflectie- en environment-mapping |
Beschrijving
van de oppervlaktestructuur. Het hangt hiervan af hoe
licht gereflecteerd wordt, of andere objecten worden
gespiegeld of juist een schaduw werpen. |
|
Textuur-morphing |
Verandering met
vloeiende overgangen tussen twee texturen. |
|
Adaptieve flikkerfilters |
Het filteren
van de twee halve deelbeelden van een PAL- of
NTSC-televisiebeeld. |
|
Tweevoudige oversampling |
Twee naast
elkaar gelegen pixels worden door het vaststellen van een
gemiddelde tot een pixel samengevat. Is nodig bij de
vergelijking van gegevens. |
|
Verticale over- en underscan-filters |
Filtering
(scalering), die een passende weergave mogelijk maakt.
Overscan is de gebruikelijke weergave bij tv, d.w.z. bij
een beeldvullende weergave zonder rand; underscan is een
volledig beeld, maar met rand. |
Als je je notebook inschakelt, zul je er waarschijnlijk niet
lang bij stil staan dat de Windows-desktop na een paar seconden
op je display verschijnt; begrijpelijk. Over dingen die
vlekkeloos functioneren wordt maar zelden nagedacht. Maar toch:
dat dit beeld daadwerkelijk op de LCD verschijnt, is een
indrukwekkend technisch hoogstandje, dat ook voorwaarde is om de
notebook te kunnen gebruiken.
We hebben het over het videosubsysteem en zijn gecompliceerde
rekenprocessen binnen de behuizing van de notebook. Natuurlijk
vinden we het fijn dat jullie dit allemaal als vanzelfsprekend
ervaren, maar net als overal, kan ook hier gefundeerde
achtergrond-kennis over het functioneren van dit systeem nuttig
zijn. Zo kun je met die know-how bijvoorbeeld bij aankoop van je
volgende notebook beter bepalen welke ‘plaatjesgenerator’
het apparaat moet bezitten.
ATI Technologies, Chips & Technologies (onderdeel van
Intels afdeling voor grafische componenten), Trident
Microsystems, NeoMagic Corporation en S3 zijn de toonaangevende
fabrikanten van grafische chips voor notebooks.
Technisch gezien worden de videocapaciteiten van de notebook
tot een van de onderdelen van het I/O-systeem — het
in/uitvoer-systeem — gerekend. Ook de weergave van gegevens op
het beeldscherm met behulp van het videosysteem behoort tot het
uitvoerproces.
naar top
Het principe van beeldweergave
 |
Chips
& Technologies, een
dochteronderneming van Intel,
maakt een mobiele videoadapter
volgens de ‘Temporal Modulated
Energy Distribution (TMED)’
methode en zorgt voor True-color
beelden zonder dithering |
Het principe van beeldweergave is op televisiebeeldschermen
en op computermonitoren hetzelfde, of dat nou met behulp van
kathodestraalbuizen of lcd’s is: de LCD-panels die in
notebooks worden gebruikt, maken eveneens van een scantechniek
gebruik. Maar in plaats van een elektronenstraal die over het
scherm schiet, stuurt het videosubsysteem hier
schakeltransistors aan. Deze zitten bij passieve matrix-displays
aan de buitenste randen en sturen ieder een beeldlijn,
respectievelijk kolom aan. Bij de actieve matrix displays zitten
er drie van die schakeltransistors achter iedere pixel. Deze
regelen de lichtdoorgang van elk gekleurd beeldpunt op het
beeldoppervlak.
De pixels geven zelf echter geen licht. Integendeel, een lamp
op de achtergrond verzorgt wit licht, dit licht gaat door
filters in drie kleuren en wordt voor iedere afzonderlijke pixel
op het beeldscherm getoond. Deze pixels worden door de
transistors in- en uitgeschakeld.
naar top
Van DOS naar de 2D-versneller
Qua concept werkt een videosubsysteem tamelijk eenvoudig: de
processor van de notebook geeft aan het systeem door wat het
‘weer moet geven’. Het videosubsysteem berekent vervolgens
welke pixels op het beeldscherm moeten oplichten, met welke
helderheid en in welke kleuren ze weergegeven moeten worden.
Hiervoor zijn veel berekeningen nodig, die in vroegere
notebooks en desktops nog voor het grootste deel door de
processor moesten worden uitgevoerd. Toen het op tekst georiënteerde
DOS echter op grote schaal plaatsmaakte voor Windows, een
grafisch gebaseerde weergave, werd de processor door het aantal
grafische handelingen overbelast, waardoor hij in het begin bij
het afhandelen van zijn eigenlijke taken werd afgeremd.
Om de processor te ontlasten, moesten de beelden op een
nieuwe manier worden berekend — de ontwikkelaars kwamen met de
‘grafische versneller’. Deze aanpak integreert een speciale
processor in de chipset van het videosysteem, die alle
berekeningen doorvoert en hiervoor gebruik kan maken van een
eigen geheugen.
Zonder de 2D-versnellers zouden grafische
gebruikersinterfaces als Windows, MacOS en OS/2 wel in kunnen
pakken, omdat de processor dan alle berekeningen zou moeten
uitvoeren. Voorbeeld: als er een dialoogvenster wordt geopend
moet het besturingssysteem ervoor zorgen dat de grafische
informatie die op deze plek staat, dus de desktop of het venster
van de actieve applicatie, ergens wordt opgeslagen om na het
sluiten van het dialoogvenster weer op dezelfde plaats te worden
opgeborgen.
De CPU zou dit gedeelte dan uit het geheugen van de grafische
kaart moeten lezen, naar het RAM schrijven en op deze plaats de
nieuw geopende dialoogbox naar het geheugen van de grafische
kaart schrijven. In plaats daarvan kan het besturingssysteem
gewoon aan een 2D-grafische controller meedelen: “dialoogbox
op plaats x, y met afmetingen a, b” en de grafische controller
neemt het overige werk op zich.
Een ander voorbeeld voor 2D-versnelling: als een beeld niet
in een venster past, moet het gedeelte dat daar buiten valt
worden afgesneden (clipping). Via de software gaat dat als
volgt: de CPU vergelijkt de lengte van iedere beeldlijn met de
breedte van het venster, vult de beeldlijn in het venster tot
aan de beeldrand met de pixels van het beeldbestand en kopieert
de pixels die buiten het venster vallen naar een buffer (het
volledige beeld blijft wel behouden voor het heen en weer
schuiven - panning).
Een grafische controller neemt dit karwei niet alleen van de
CPU over, maar doet dat ook nog eens een flink stuk sneller
omdat het volgens een vast patroon gaat. Bovendien hoeven de
gegevens, omdat ze in het lokale geheugen van de grafische kaart
zitten, niet meer uit het werkgeheugen van de computer te worden
gehaald — dat versnelt de beeldopbouw drastisch.
Het videosubsysteem bouwt het weer te geven beeld bit voor
bit in het geheugen op (eigenlijk byte voor byte: bij high-color
telkens twee, bij true-color telkens drie of vier bytes). Het
videosysteem berekent voor iedere pixelpositie of er een pixel
geactiveerd moet worden (van links boven op het beeldscherm naar
rechts onder). Als dat het geval is, berekent het ook zijn kleur
en helderheid. Als het hele beeld is opgebouwd, draagt het
videosysteem deze kopie bit voor bit uit het videogeheugen aan
de schakeling over, die het beeldscherm stuurt. In het geval van
de kathodestraalmonitor is dat een RAMDAC (RAM = Random Access
Memory, DAC = Digital Analog Convertor). Het converteert het
beeld in het geheugen naar een analoog VGA-signaal.
Bij de buismonitor is de helderheid afhankelijk van de
sterkte van de elektronenstraal. Iedere pixel van een LCD heeft
daarentegen maar twee waardes, aan of uit, daarom wordt de
helderheid pulserend geregeld. De transistor schakelt een aantal
maal per seconde — te snel voor de waarneming van het oog —
de pixel aan en uit. Als de pixel meer licht moet afgeven, wordt
de aan-impuls langer dan de uit-impuls; bij een donkerdere pixel
is de uit-impuls logischerwijze langer. Het beeld wordt meerdere
keren per seconde opgebouwd. De frequentie waarmee dit gebeurt
wordt aangeduid als refreshrate en opgegeven in hertz of Hz. In
het videogeheugen wordt telkens de snelste RAM-techniek ingezet,
die op dat moment beschikbaar is. Tegenwoordig is dat SDRAM of
SGRAM (Synchronous Graphics Random Access Memory). SGRAM voor de
video-controller heeft twee lijnen om te schrijven en te lezen,
zodat de beeldinformatie al naar het RAM geschreven kan worden,
hoewel het voorgaande beeld nog wordt uitgelezen.
naar top
Fascinerend: 3D
 |
Het
functionele samenspel van
de componenten van de
grafische controller Rage Mobility
M1 van ATI is typisch voor huidige
grafische controllers die in notebooks
worden ingezet. Powermanagement
mag hier niet ontbreken. |
Of het allemaal nog niet gecompliceerd genoeg lijkt, moet er
ook nog met drie andere dingen rekening worden gehouden. Ten
eerste wordt het beeld een paar keer per seconde opgebouwd en
ten tweede moet, als er videofilms op het beeldscherm worden
weergegeven, ieder beeld geheel opnieuw worden berekend en
opgebouwd. Ten derde is het zojuist beschreven proces alleen van
toepassing op tweedimensionale weergaven.
Als er een driedimensionaal beeld wordt weergegeven, zoals
bij een spel of een hoogwaardige applicatie zoals CAD/ CAM,
worden de zaken nog gecompliceerder. Bij dit type graphics moet
ieder beeld in drie assen worden berekend; niet alleen
horizontaal en verticaal. De beeldinformatie van de extra
dimensie, de z-as, moet worden opgeslagen.
Driedimensionale grafische versnellers hebben een extreem
complexe interne structuur. Ze hebben de taak, omvangrijke
ruimtelijke scènes te berekenen en dan weer tweedimensionaal om
te rekenen — er wordt immers op een plat vlak, de display,
weergegeven. Als een object bijvoorbeeld bedekt wordt door een
object dat daarvoor ligt, dan hoeven de pixels in het bedekte
gedeelte helemaal niet te worden berekend.
Het wordt in 3D-grafische subsystemen aan de zogenaamde
‘grafische engine’ van de chipset overgelaten om dit vast te
stellen. Deze bevat uitbreidingen, die snellere berekeningen en
de rendering van de driehoeken en polygonen leveren, waaruit de
gecompliceerde grafische structuren zijn samengesteld. Een
3D-scenario is dus samengesteld uit een aantal driedimensionale
figuren, die op hun beurt uit veelhoeken (polygonen) bestaan,
die wederom uit driehoeken zijn opgebouwd.
Om de verbazingwekkende levensechte indruk te realiseren, die
typisch is voor 3D-graphics, is het belangrijk een scène goed
te ‘belichten’. Als de zon bijvoorbeeld links boven staat,
zullen de rechter zijden van het object in het donker liggen —
en ook de schaduwen vallen naar rechts.
Er is een groot aantal berekeningen nodig als een scène met
nevel of regen bedekt moet worden, omdat voor ieder pixel de
transparantiegraad moet worden vastgesteld — het is immers
niet helemaal bedekt, maar schijnt nog door. De pixels die
verder naar achter in de scène liggen worden meer afgezwakt dan
de pixels die verder naar voren liggen.
Complexe vormen worden vaak uit eenvoudigere basisvormen
opgebouwd en vervolgens met een oppervlak of een patroon — in
pc-termen zijn dat de zogenaamde texturen — overtrokken. De
wereld bestaat immers niet uit gladde, eenkleurige oppervlakken,
maar toont de toeschouwer een groot aantal structuren — van
steen tot metaal, van rauhfaserbehang tot en met het schapenvel.
Hiervoor zijn textuurberekeningen nodig. Tijdens die
berekeningen wordt informatie over de hoedanigheid van het
oppervlak uitgewerkt en op een weer te geven object losgelaten,
nadat dit werd getekend en opgeslagen. Hiervoor is echter veel
videogeheugen nodig en notebooks moeten het vanwege
energiebesparing met minder videogeheugen stellen dan de
grafische controllers in desktop-computers.
naar top
Tot slot
De volgende keer zullen we op dit onderwerp verder gaan, we
zullen dan het raffinement van de controllers, de RAM DAC, AGP
en de PCI-bus bespreken.
naar top
|