IT-словарь › Инфраструктура › Расширение Present (X11)

Расширение Present (X11)

Инфраструктура Svenska → Обновлено: 2026-10-20
Подробнее
Автор
Keith Packard
Год
2013
Тип
Расширение X

Расширение X, позволяющее клиенту сказать «покажи этот pixmap в этом окне на следующем кадре» и получить уведомление, когда это случилось: способ X11 синхронизироваться с развёрткой без знания OpenGL сервером.

До 2013 года X-программе, которая хотела менять буферы синхронно с дисплеем, приходилось идти через GLX и SwapBuffers из DRI2, что предполагало, что и сервер, и драйвер говорят на OpenGL. Кит Паккард написал Present, чтобы выделить именно этот кусок: единственный запрос PresentPixmap просит сервер скопировать или перевернуть содержимое pixmap-а в окно на заданном кадре, считаемом в MSC — счётчике медиапотока. Сервер отвечает CompleteNotify, когда обмен реально стал видимым (с отметкой времени), и IdleNotify, когда клиент может использовать pixmap снова. Если окно закрывает весь экран и ничто не мешает, получается настоящий page flip, а не копирование.

Расширение вышло в X.Org Server 1.15 в декабре 2013 года вместе с DRI3, который сам занимается разделением буферов через файловые дескрипторы; вместе они заменили DRI2. На них построена поддержка GL и Vulkan для X11 в Mesa, Xwayland переводит PresentPixmap прямо в кадры композитора Wayland, а компонующий оконный менеджер может применять тот же механизм для своего оверлея. Это один из редких случаев, когда X11 получил современный графический конвейер задним числом — как раз перед тем, как большинство перестало этим интересоваться.

← Назад к словарю