Оверлей — термин информатики¶
Оверлей (от англ. overlay — «наложение») — термин информатики и программирования, обозначающий элемент интерфейса, графического изображения или программного модуля, который накладывается поверх основного содержимого экрана, документа или другого объекта. В зависимости от контекста оверлей может представлять собой прозрачный или полупрозрачный графический слой, вспомогательное окно программы, участок памяти, используемый для временного размещения кода или данных, либо служебный элемент веб-интерфейса.
¶История и происхождение термина
Понятие «overlay» появилось в компьютерной инженерии в конце 1950-х — начале 1960-х годов в связи с ограниченностью оперативной памяти ранних ЭВМ. Тогда программы, не помещавшиеся в память целиком, разбивались на участки, которые поочерёдно загружались в одну и ту же область памяти — так называемые overlay-сегменты. Механизм получил развитие в системах IBM OS/360 и стал стандартным приёмом программирования для машин с малым объёмом ОЗУ.
С распространением персональных компьютеров и графических интерфейсов термин приобрёл новое значение: под оверлеем стали понимать графический слой, размещаемый поверх основного изображения. В 1990-е годы оверлеи стали активно использоваться в компьютерных играх и мультимедийных приложениях.
¶Виды оверлеев
¶Графические оверлеи
Графический оверлей — это изображение или набор элементов, отображаемых поверх основного содержимого экрана. Примеры:
- Оверлей в играх — элементы интерфейса (шкалы здоровья, миникарта, счётчики патронов, подсказки), которые отображаются поверх трёхмерной сцены. В современных играх оверлеи часто реализуются как отдельные текстуры, накладываемые на кадр с помощью графического конвейера.
- Оверлей на видео — логотип канала, титры, субтитры или информационная плашка, наложенная поверх видеопотока. Такие оверлеи используются в телевещании и стриминге.
- Оверлей в графических редакторах — служебные слои, отображающие направляющие, сетки, выделения и маски, не входящие в итоговое изображение.
¶Оверлеи в программировании
В системном программировании оверлей — это участок памяти, который может быть переиспользован разными программными модулями. Модули, не выполняемые одновременно, размещаются в одной и той же области памяти и подгружаются по мере необходимости. Этот подход применялся в MS-DOS (модель памяти с overlay-библиотеками) и в ряде встраиваемых систем.
¶Оверлеи в веб-интерфейсах
В веб-разработке оверлей (overlay) — это элемент интерфейса, который временно перекрывает основное содержимое страницы. Типичные примеры:
- модальные окна и диалоговые окна;
- выпадающие меню;
- всплывающие подсказки (тултипы);
- затемняющие подложки (overlay backdrop), используемые для выделения активного элемента.
Технически оверлей в вебе реализуется с помощью CSS-свойств position: fixed или position: absolute, а также слоёв с высоким значением z-index. Популярные библиотеки фронтенд-разработки (Bootstrap, Material UI, Ant Design) содержат готовые компоненты оверлеев.
¶Оверлеи в сетевых технологиях
В компьютерных сетях и системах видеонаблюдения оверлей-сеть (overlay network) — это логическая сеть, построенная поверх физической инфраструктуры. Примеры overlay-сетей — VPN, системы доставки контента (CDN), peer-to-peer сети и блокчейн-протоколы.
¶Техническая реализация
На уровне графического вывода оверлей часто поддерживается аппаратно. Многие видеокарты содержат специальные аппаратные оверлей-плоскости (hardware overlay planes), которые позволяют выводить изображение поверх основного кадра без участия центрального процессора. Эта технология активно использовалась в эпоху видеовыхода VGA и ранних DVD-проигрывателей.
В современных операционных системах оверлеи реализуются средствами композитных оконных менеджеров (Compositor). Композитор объединяет содержимое всех окон в единый кадр, что позволяет свободно накладывать слои, применять прозрачность, тени и анимации. Примеры композитных менеджеров — Mutter и KWin в Linux, Desktop Window Manager в Windows, Quartz Compositor в macOS.
¶Применение
Оверлеи используются в самых разных областях:
- Компьютерные игры — интерфейс, HUD, оверлей стриминга (например, элементы OBS Studio, Steam Overlay).
- Телевидение и стриминг — логотипы, титры, информационные плашки.
- Промышленное проектирование — наложение чертежей на 3D-модели (CAD/CAM-системы).
- Навигация и дополненная реальность — наложение виртуальных объектов на реальное изображение.
- Обучение и демонстрации — подсказки и выделения поверх демонстрируемого интерфейса.
¶Интересные факты
- В 1970-е годы overlay-программирование было отдельной специальностью: инженеры вручную составляли карты памяти, определяя, какие модули могут разделять одну область.
- Steam Overlay, запускаемый по сочетанию клавиш Shift+Tab, считается одним из самых известных примеров оверлея в играх — он позволяет открывать браузер, чат и список друзей поверх запущенной игры.
- Термин «overlay» в русскоязычной IT-среде часто используется в заимствованной форме, хотя в академических текстах встречается калька «наложение».
¶Источники
- Таненбаум Э. Современные операционные системы.
- Смит Р. Computer Graphics: Principles and Practice.
- Стандарты W3C по CSS Positioned Layout.
- Документация Microsoft по Desktop Window Manager.
- IEEE Computer Graphics and Applications.
