videokaart

De werking van de videokaart

De videokaart is met name onder gamers een veel besproken computeronderdeel. Welke videokaart geschikt is voor een computer hangt af van de manier waarop deze gebruikt wordt. Een gamer zal een krachtige videokaart zoeken met goede 3D prestaties. Een kantoorgebruiker heeft daarentegen meestal genoeg aan een simpele, eventueel in het moederbord geïntegreerde videokaart. Tussen deze extremen bevindt zich een groot scala aan middenklassers. Het grote aanbod, onlogische serienummers, afkortingen en het algemene videokaartjargon maken een videokaart kiezen soms een lastige klus. Het is vrij gemakkelijk om 50 Euro meer te besteden aan een videokaart die eigenlijk minder presteert dan zijn goedkopere alternatief. In dit artikel ga ik in op de werking, de prestaties en de terminologie van videokaarten. Hopelijk helpt dit artikel je een videokaart kiezen die past bij jouw gebruik.

De werking van de videokaart

Binnen de computer wordt altijd met digitale data gewerkt. Dat betekent dat beelden in computertaal als een enorme reeks 1-en en 0-en weergegeven worden. De videokaart zet deze digitale data (aangeleverd door de CPU) om in een analoog signaal dat naar de monitor verstuurd wordt.

Een videokaart is bijna een computer op zich. Je treft er net als op het moederbord een chipset met een processor en geheugen aan. De processor op de videokaart wordt Graphics Processing Unit (GPU) genoemd. De GPU lijkt op de hoofdprocessor van de computer (CPU). De GPU is alleen specifiek ontworpen voor het verwerken van grafische data.

Maar hoe werken deze dingen samen om beelden weer te geven? Hieronder staat in chronologische volgorde hoe een beeldje door de onderdelen op de videokaart op het scherm gezet wordt.

  • Informatie over het weer te geven plaatje wordt in digitale vorm van de CPU naar de videokaart gestuurd. Deze data is gegenereerd door software op de computer.
  • De data wordt in de GPU verwerkt. Er wordt een plaatje opgebouwd door voor elke pixel op het beeldscherm de juiste kleur te bepalen. Dit proces is in het bijzonder bij 3D spellen zeer intensief.
  • Het beeld wordt opgeslagen in het geheugen van de videokaart.
  • Het beeld wordt vanuit het geheugen naar de digitaal-naar-analoog-converter gestuurd (RAMDAC). Deze zet het digitale plaatje om in een analoog signaal.
  • Het analoge signaal wordt vanuit de RAMDAC via de kabel naar de monitor gestuurd.
  • De monitor geeft het plaatje weer.

De videokaart die dit proces het vaakst kan herhalen in een seconde is de snelste. Dat is een beetje simpel gezegd, maar dat is waar het op neerkomt. De processor, het geheugen en de RAMDAC bepalen tesamen de snelheid van de videokaart. Om moderne computerspellen zonder haperingen te kunnen spelen is het prettig als de videokaart het proces hierboven minimaal zo'n 40 keer per seconde kan uitvoeren.

Niet elke beeldje is even moeilijk om op te bouwen voor de videokaart. In feite moet de videokaart voor elke pixel op het beeldscherm bepalen wat de kleur wordt. Hoe meer pixels het plaatje bevat (resolutie), hoe meer data de videokaart te verwerken krijgt. Een spelletje spelen op een resolutie van 1024 * 768 pixels is daarom aanzienlijk zwaarder dan op een resolutie van 800 * 600 pixels. Verder is de kleurdiepte (het aantal mogelijke kleuren die een pixel kan aannemen) bepalend voor de zwaarte van het beeld.

De werking van de videokaart ligt in werkelijkheid een stuk ingewikkelder dan wat hierboven beschreven staat. De GPU van een moderne videokaart is in staat in hoog tempo zeer complexe berekeningen te maken. Deze komen onder andere van pas in 3D games. Om een 3D game weer te geven krijgt de videokaart data aangeleverd van de CPU. Hier moet de videokaart een 'wireframe' (draadmodel) van bouwen en dat frame vervolgens vullen met textures, schaduw en lichteffecten. Dit moet ter plekke gebeuren, 40 keer per seconden, waarbij het beeld steeds afhangt van waar de speler heen kijkt. Dat is zwaar werk.

Het produceren van opeenvolgende beeldjes zoals bij een 3D game heet 'renderen'. Het renderen van bovenstaande theepot zal voor de videokaart een klein klusje zijn. In een spel met bewegende mannetjes, bergen, lucht, gedetailleerde schaduw, etc ligt dat anders. De videokaart kan zelf een effecten en technieken toepassen om beelden er beter uit te laten zien en om de videokaart beter te laten presteren.

Antialiasing- Maakt de randen van 3D objecten gladder. De pixels die zich aan de randen van een object bevinden worden gemengd met omliggende pixels zodat de overgang tussen een object en bijvoorbeeld zijn achtergrond veel gladder wordt. In de afbeeldingen hieronder is links geen en rechts wel antialiasing toegepast.

In bovenstaand voorbeeld wordt gebruik gemaakt van Full-Scene Antialiasing (FSAA). Dat wil zeggen dat het hele beeld in een keer ga-antialiased wordt. Vaak kun je verschillende sterktes van antialiasing instellen in een game. In Het voorbeeld hierboven (Battlefield 2) kun je kiezen tussen geen, 2x of 4x FSAA. Antialiasing heeft een negatieve invloed op de prestaties van het spel.

Anisotropic filtering- anisotopische filtering is een methode om textures netjes en mooi over een object (3D draadmodel) heen te plakken. Het verbetert het uiterlijk van deze textures als ze zich op grote afstand bevinden of als ze op een schuin vlak liggen ten opzichte van het 'camerastandpunt'. Anisotropisch filteren is voor de videokaart een zeer zware klus. Het zal de game qua uiterlijk mooier maken, maar het zal een negatieve invloed op de snelheid hebben.

Bovenstaande effecten kom je tegen op moderne videokaarten. Er zijn nog een hoop andere technieken waar videokaarten gebruik van maken om het beeld te verbeteren, danwel om de videokaart sneller te laten presteren (wat uiteindelijk ook een positieve invloed op het beeld heeft). Sommige van deze technieken zijn specifiek voor een bepaalde fabrikant.