Voor videokaarten (qua output) :
32 bit color is 24 bit (8,8,8 R,G,B) color + 8 bit
null padding. Padding, oftewel opvulling. Geen nuttige data (zoals alpha ofzo) dus.
Waarom is dat dan? Dat kost alleen maar extra geheugen?
True, maar 32bits (aka DWORD) aligned data is door de meeste CPUs (vanaf Pentium iirc) makkelijker en sneller te benaderen. Ook is een video framebuffer lineair (niet 2D dus), en moet je de offset van de juiste pixel bepalen met X * Y *
colordepth in bytes. Voor 24 bit is dat X * Y * 3, voor 32 bit X * Y * 4. En daar zit het verschil, want * 3 kost een relatief dure vermenigvuldigings instructie, terwijl * 4 met een snellere bitshift kan.
De extra snelheidswinst daarvan weegt vaak wel op tegen het beetje geheugen dat dat extra kost (meeste kaarten tegenwoordig hebben toch 16 MB of meer vram).
Een ander format, RGBA ( 8, 8, 8, 8 ), met alphachannel dus, wordt idd ook gebruikt, maar niet voor wat videokaarten uitspugen. Op het moment dat het op je scherm getekend wordt, doet een alpha-channel er namelijk helemaal niks meer toe, alleen R, G en B boeien dan nog.
In software kan het wel zijn dat er met RGBA gerekend wordt (bijvoorbeeld een plaatje met alpha channel in the Gimp).
[
Voor 0% gewijzigd door
deadinspace op 21-09-2002 18:50
. Reden: Hoere smilies ]