Введение
Тип видео-оверлея
В вычислительной технике аппаратный оверлей, являющийся типом видео-оверлея, предоставляет способ рендеринга изображения на экран дисплея с использованием выделенного буфера памяти внутри компьютерного видеооборудования. Эта техника направлена на улучшение отображения быстро движущегося видеоизображения, например, компьютерной игры, DVD или сигнала с ТВ-карты. Большинство видеокарт, выпущенных с 1998 года, и большинство медиаплееров поддерживают аппаратный оверлей. Оверлей представляет собой выделенный буфер, в который одно приложение может рендерить (обычно видео), избегая значительных потерь производительности, связанных с проверкой на обрезку и перекрытие рендеринга другими приложениями. Фреймбуфер имеет аппаратную поддержку для импорта и рендеринга содержимого буфера, минуя графический процессор.
Скриншоты
В результате использования аппаратного наложения программа для создания скриншотов (например, встроенная в Windows, которая активируется при нажатии клавиши PrtSc) часто не захватывает содержимое, отображаемое в окне аппаратного наложения. Вместо этого захватывается пустая область, содержащая только специальный цвет маски. Это происходит потому, что механизм захвата экрана не учитывает специальные области видеопамяти, выделенные для наложений – он просто захватывает общий основной экран, как он отображается графической подсистемой программного обеспечения.
Вторичные дисплеи
Многие видеокарты могут поддерживать более одного монитора и/или телевизора в качестве выходных устройств. Как правило, одно из этих устройств вывода должно быть объявлено "основным", и только основное устройство может отображать аппаратные наложения. Однако существуют исключения: Intel указывает в разделе часто задаваемых вопросов для своих встроенных графических драйверов, что наложение можно назначить любому из дисплеев, но не обоим сразу (примечание: чипсеты Intel 945, G33 и Q965 имеют двойной аппаратный модуль наложения и способны обеспечивать хорошее качество воспроизведения MPEG-2 на вторичных мониторах при установке соответствующего программного обеспечения), а некоторые новые графические карты Matrox поддерживают наложение на обоих дисплеях (например, серия Parhelia). Для работы с вторичными дисплеями требуется поддержка как аппаратного обеспечения, так и драйверов; некоторые видеокарты могут поддерживать наложение на втором дисплее, в то время как их драйверы могут еще не обеспечивать такую возможность (примечание: ошибки в драйверах графических чипсетов могут приводить к тому, что большинство видеоформатов, за исключением MPEG-2, будут работать на обоих мониторах, а MPEG-2 – только на основном, при использовании большинства проигрывателей). Некоторые пользователи отмечают, что DVD-фильмы корректно отображаются на экране ноутбука, но не отображаются на подключенном к нему телевизоре; в таких случаях можно попробовать назначить телевизор основным дисплеем. Иногда может потребоваться отключить использование аппаратных наложений в медиаплеере. Однако некоторые видеокарты предоставляют возможность полностью перенаправить аппаратное наложение на экран телевизора. В этом случае запуск DVD-плеера на основном экране с включенным наложением приведет к отображению видео на подключенном телевизоре.
Реализация в различных операционных системах
Расширенные графические возможности Windows Vista заменяют базовую концепцию аппаратных наложений полной аппаратной композицией для каждого окна приложения, работающего в системе, а не только для проигрывателей фильмов или игр, посредством Диспетчера окон рабочего стола. Mac OS X использует аппаратную композицию с момента внедрения Quartz Extreme в Mac OS X 10.2. Для повышения производительности каждая программа отрисовывает в свой собственный независимый буфер памяти, а не в медленную графическую подсистему. (В Windows Vista каждое аппаратное наложение более корректно называется Direct3D-поверхностью). Затем графический процессор системы собирает каждое окно в единый экран в реальном времени. С современными графическими процессорами, способными к продвинутой 3D-графике (благодаря индустрии видеоигр), операционные системы могут применять ресурсоемкие эффекты движения, масштабирования и освещения к обычным 2D-окнам. В связи с необходимостью снизить энергопотребление, Windows 7 добавила ограниченную поддержку наложений, а Windows 8.1 – поддержку многоплоскостных наложений. Многоплоскостные наложения позволяют Диспетчеру окон рабочего стола автоматически преобразовывать части рабочего стола в наложения, экономя энергию в большем количестве случаев. В X Window System, оконной системе большинства операционных систем Unix, расширение XVideo может позволить приложениям использовать аппаратные наложения. Также используется композиция, наиболее заметными примерами с 2006 года являются менеджеры окон композиции Compiz и Beryl. Они могут использовать преимущества OpenGL (через расширение glx) для 3D и 2D визуальных эффектов наложения. Другие реализации, такие как Metacity и xfwm, доступны с 2004 года. Некоторые специализированные аппаратные устройства используют встроенный Linux в качестве операционной системы; например, видеорегистратор от Racelogic использует микроконтроллер Texas Instruments DM355 для смешивания буфера кадров, содержащего графику, с живым видеопотоком, а затем сохраняет результат в формате MPEG 4 на флеш-карту. Поддержка наложений, также известная как «картинка в картинке» (Picture In Picture, PIP), была внедрена в AmigaOS с появлением графических карт для ПК, графических систем Picasso96 и CyberGraphX, известных как ReTargetable Graphics, для карт Picasso IV и Voodoo3; система драйверов picasso’96 стала стандартной в AmigaOS 3.5. Moovid был одним из первых видеоплееров, поддерживающих аппаратное наложение (PIP) на AmigaOS.