Naar inhoud springen

Framebuffer

Uit Wikipedia, de vrije encyclopedie
Dit is de huidige versie van de pagina Framebuffer voor het laatst bewerkt door Wikiwerner (overleg | bijdragen) op 1 jan 2017 20:43. Deze URL is een permanente link naar deze versie van deze pagina.
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Een Sun cgsix framebuffer

De framebuffer is een stuk geheugen op de videokaart dat het beeld bevat dat op dat moment op het beeldscherm te zien moet zijn. Dit geheugen wordt direct door het beeldscherm gebruikt, zonder dat de rest van de computer zich ermee hoeft te bemoeien, dus als er iets naar dit geheugen geschreven wordt, heeft dat direct invloed op het beeld op het beeldscherm. Veel oude computerspellen tekenden hun grafische beelden ook op deze manier. Ze veranderden gewoon de waardes in dit geheugen.

Backbuffering

[bewerken | brontekst bewerken]

Dat veranderingen in de framebuffer direct zichtbaar zijn heeft ook zijn nadelen. Heel vaak wordt het beeld namelijk uit verschillende lagen opgebouwd door middel van het schildersalgoritme. Eerst worden de achterste lagen volledig getekend, ook de delen die later verhuld zullen worden door een andere laag, en daarna worden de daarboven liggende lagen er gewoon overheen getekend. De monitor kan echter op het moment dat de framebuffer nog niet helemaal gereed is het resultaat al laten zien, waardoor er heel even een incorrect beeld te zien is. Dit kan bijvoorbeeld resulteren in een flikkerende muiscursor.

Om dit probleem op te lossen worden tegenwoordig twee (of soms zelfs drie) framebuffers gebruikt. Een die op dat moment zichtbaar is, de frontbuffer, en een andere framebuffer, de backbuffer, die op dat moment gerenderd wordt. Zodra de backbuffer klaar is worden de buffers omgewisseld (geflipt), en is het volledige nieuwe beeld in een keer zichtbaar. Deze techniek heet backbuffering.