Оригинальный автор(ы) | Фонд X.Org |
---|---|
Стабильный релиз | 1.0 / 1991 ( 1991 ) |
Расширение общей памяти MIT или MIT -SHM или XShm — это расширение X Window System для обмена данными изображений между клиентом и сервером с использованием общей памяти (обычно /dev/shm ). Механизм работает только тогда, когда обе части находятся на одном компьютере.
Базовая предоставляемая возможность — это разделяемая память XImages. По сути, это версия интерфейса ximage, где фактические данные изображения хранятся в сегменте разделяемой памяти SysV , и, таким образом, их не нужно передавать через сокет на X-сервер. Для больших изображений использование этой возможности может привести к некоторому реальному повышению производительности.
Кроме того, некоторые реализации предоставляют пиксельные карты общей памяти. Это двумерные массивы пикселей в формате, указанном X-сервером, где данные изображения хранятся в сегменте общей памяти. Благодаря использованию пиксельных карт общей памяти можно изменять содержимое этих пиксельных карт без использования каких-либо процедур Xlib . Пиксельные карты общей памяти могут поддерживаться только тогда, когда X-сервер может использовать обычную виртуальную память для данных пиксельных карт; если пиксельные карты хранятся во встроенной памяти графического оборудования, приложение не сможет поделиться ими с сервером. [1]
В версии 1.15 сервера X.org [2] расширение MIT-SHM получило два дополнительных запроса: «X_ShmAttachFd» и «X_ShmCreateSegment», чтобы иметь возможность передавать общую память через файловые дескрипторы от клиента к серверу и от сервера к клиенту, что еще больше сокращает количество операций копирования . [3]