Framebuffer

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
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 er mee hoeft te bemoeien, dus als je iets naar dit geheugen schrijft heeft dat direct invloed op het beeld dat je op het beeldscherm ziet. Veel oude computerspellen tekenden hun grafische beelden ook op deze manier. Ze veranderden gewoon de waardes in dit geheugen.

Backbuffering[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.