IT-lexicon › Infrastructuur › Present-extensie (X11)

Present-extensie (X11)

Infrastructuur Svenska → Bijgewerkt: 2026-10-09
Meer info
Gemaakt door
Keith Packard
Jaar
2013
Type
X-extensie

De X-extensie waarmee een client kan zeggen “toon deze pixmap in dit venster bij het volgende beeld” en te horen krijgt wanneer dat echt gebeurde — de manier waarop X11 vsync doet zonder dat de server OpenGL hoeft te begrijpen.

Tot 2013 moest een X-programma dat buffers synchroon met het beeldscherm wilde wisselen via GLX en de SwapBuffers van DRI2, wat ervan uitging dat zowel server als stuurprogramma OpenGL spraken. Keith Packard schreef Present om dat ene onderdeel los te weken: één verzoek, PresentPixmap, waarmee de server wordt gevraagd de inhoud van een pixmap op een bepaald beeld naar een venster te kopiëren of te flippen, geteld in MSC, de media stream counter. De server antwoordt met CompleteNotify wanneer de wissel daadwerkelijk zichtbaar werd, inclusief tijdstempel, en met IdleNotify wanneer de client de pixmap opnieuw mag gebruiken. Bedekt het venster het hele scherm en staat er niets in de weg, dan is het resultaat een echte page flip in plaats van een kopie.

De extensie verscheen in december 2013 in X.Org Server 1.15, samen met DRI3, dat het delen van buffers zelf via bestandsdescriptors regelt, en het tweetal verving DRI2. De GL- en Vulkan-ondersteuning van Mesa voor X11 is erop gebouwd, Xwayland vertaalt PresentPixmap rechtstreeks naar de frames van de Wayland-compositor, en een compositing window manager kan hetzelfde mechanisme gebruiken voor zijn eigen overlayvenster. Het is een van de weinige gevallen waarin X11 achteraf een moderne weergavepijplijn kreeg, en ze was klaar vlak voordat de meeste mensen zich er niet meer om bekommerden.

← Terug naar het lexicon