IT-Lexikon › Infrastruktur › Present-Erweiterung (X11)

Present-Erweiterung (X11)

Infrastruktur Svenska → Aktualisiert: 2026-10-09
Mehr Infos
Entwickler
Keith Packard
Jahr
2013
Typ
X-Erweiterung

Die X-Erweiterung, mit der ein Client sagen kann „zeige dieses Pixmap im nächsten Frame in diesem Fenster“ und erfährt, wann es tatsächlich geschah – das Vsync von X11, ohne dass der Server OpenGL verstehen muss.

Bis 2013 musste ein X-Programm, das Puffer im Takt des Displays tauschen wollte, den Weg über GLX und das SwapBuffers von DRI2 nehmen, das voraussetzte, dass Server und Treiber OpenGL sprachen. Keith Packard schrieb Present, um dieses eine Stück herauszulösen: eine einzige Anfrage, PresentPixmap, die den Server bittet, den Inhalt eines Pixmaps in einem bestimmten Frame, gezählt in MSC (Media Stream Counter), in ein Fenster zu kopieren oder umzuschalten. Der Server antwortet mit CompleteNotify, sobald der Tausch wirklich sichtbar wurde, inklusive Zeitstempel, und mit IdleNotify, wenn der Client das Pixmap wiederverwenden darf. Deckt das Fenster den Bildschirm ab und steht nichts im Weg, ist das Ergebnis ein echter Page Flip statt einer Kopie.

Die Erweiterung erschien im Dezember 2013 mit X.Org Server 1.15 zusammen mit DRI3, das die Pufferfreigabe selbst über Dateideskriptoren erledigt, und beide ersetzten DRI2. Mesas GL- und Vulkan-Unterstützung für X11 baut auf dem Paar auf, Xwayland übersetzt PresentPixmap direkt in die Frames des Wayland-Compositors, und ein Compositing-Fenstermanager kann denselben Mechanismus für sein eigenes Overlay-Fenster nutzen. Es ist einer der wenigen Fälle, in denen X11 nachträglich eine moderne Anzeigepipeline bekam, und sie wurde fertig, kurz bevor sich die meisten nicht mehr dafür interessierten.

← Zurück zum Lexikon