Аппаратный оверлей

редактировать

В вычислениях, аппаратный оверлей, тип оверлей видео, обеспечивает метод рендеринга изображения на экран дисплея с выделенным буфером памяти внутри компьютерного видеооборудования. Этот метод направлен на улучшение отображения быстро движущегося видео изображения, например, компьютерной игры, DVD или сигнала с ТВ-карта. Большинство видеокарт, произведенных примерно с 1998 года, и большинство медиаплееров поддерживают аппаратное наложение.

оверлей - это выделенный буфер, в который может помещаться одно приложение. рендеринг (обычно видео) без существенных затрат производительности на проверку обрезки и перекрытия рендеринга другими приложениями. Буфер кадра имеет аппаратную поддержку для импорта и рендеринга содержимого буфера без прохождения через графический процессор.

Содержание
  • 1 Обзор
  • 2 Снимки экрана
  • 3 Вторичные дисплеи
  • 4 Реализации в различных операционных системах
  • 5 Ссылки
Обзор

Использование аппаратного оверлея важно по нескольким причинам:

  1. В графическом пользовательском интерфейсе (GUI) операционной системе например, Windows, одно устройство отображения обычно может отображать несколько приложений одновременно.
  2. Подумайте, как дисплей работает без наложения оборудования. Когда каждое приложение рисует на экране, графическая подсистема операционной системы должна постоянно проверять, чтобы отображаемые объекты отображались в соответствующем месте на экране и не сталкивались с перекрывающимися и соседними окнами. Графическая подсистема должна обрезать объекты во время их рисования при возникновении столкновения. Эта постоянная проверка и отсечение гарантирует, что различные приложения могут взаимодействовать друг с другом при совместном использовании дисплея, но при этом потребляют значительную часть вычислительной мощности.

Компьютер использует свой дисплей, записывая растровое представление графику в специальную часть его памяти, известную как видеопамять. Без каких-либо аппаратных наложений существует только один фрагмент видеопамяти, который должны совместно использоваться всеми приложениями, а расположение видеопамяти данного приложения перемещается всякий раз, когда пользователь меняет положение окна приложения. При использовании совместно используемой видеопамяти приложение должно постоянно проверять, что оно записывает только в память, принадлежащую этому приложению.

При запуске видеоприложения с высокой пропускной способностью, например проигрывателя фильмов или некоторых игр, вычислительная мощность и сложность, необходимые для выполнения постоянного отсечения и проверки, негативно влияют на производительность и совместимость. Аппаратный оверлей избегает этих ограничений. Кроме того, графический процессор (GPU) обеспечивает эффективный способ масштабирования видео по размеру и часто выполняет преобразование цветового формата (например, MPEG-2 YCbCr в RGB).

Приложение, использующее аппаратный оверлей, получает полностью отдельный раздел видеопамяти, который принадлежит только этому приложению. Поскольку ничто другое не использует его, программе никогда не нужно тратить ресурсы на проверку того, принадлежит ли ему данная часть памяти, а также не нужно отслеживать, перемещает ли пользователь окно и изменяет ли расположение видеопамяти. Чтобы изображение из отдельной видеопамяти отображалось вместе с остальными общими элементами на дисплее, графическая подсистема связывает определенный атрибут (например, определенный цвет) как «маску» для этого оверлея, который графическая карта означает рисование на экране из отдельного буфера наложения. (Этот метод стал известен как «цветовой ключ ».)

В качестве примера предположим, что графическая подсистема определяет «фиолетовый» цвет как цвет маски, который запускает отображение наложения. Приложение, которое воспроизводит DVD, нарисует сплошной фиолетовый прямоугольник на общем экране, а затем «воспроизведет» DVD в специальной области памяти, выделенной для наложения. Графическая карта будет воспроизводить DVD только внутри фиолетовой области. Если другое окно перемещается поверх фиолетовой области и закрывает ее часть, тогда графическое оборудование выполняет отсечение самостоятельно. На практике фактический "фиолетовый" цвет не используется - вместо этого используется либо невзрачный почти черный цвет (поскольку система часто имеет тысячи таких оттенков на выбор), либо область маски обозначается с помощью некоторого аналогичного метода маскирования. без цвета.

Снимки экрана

Как следствие использования аппаратного наложения, программа снимок экрана (например, автоматически встроенная в Windows, которая активируется при нажатии пользователем клавиши PrtSc) часто не захватывает содержимое, отображаемое в окне аппаратного оверлея. Скорее, захватывается пустая область, содержащая только специальный цвет маски. Это связано с тем, что процедура захвата экрана не учитывает специальные области видеопамяти, выделенные для наложений - она ​​просто захватывает общий главный экран, отображаемый графической подсистемой программного обеспечения.

Дополнительные дисплеи

Многие новые видеокарты могут поддерживать более одного монитора и / или экрана телевизора в качестве устройств вывода. Обычно одно из этих устройств вывода должно быть объявлено «основным» устройством, и только основное устройство может отображать аппаратные оверлеи. Есть исключения: Intel пишет в часто задаваемых вопросах для своих драйверов встроенного графического адаптера, что оверлей можно прикрепить к любому из дисплеев, но не к обоим (примечание: чипсеты Intel 945, G33-Q965 теперь имеют двойное аппаратное наложение и могут mpeg2 хорошего качества на дополнительных мониторах при установленном соответствующем программном обеспечении), а некоторые более новые графические карты Matrox поддерживают наложение на обоих дисплеях (например, серия Parhelia).

Дополнительные дисплеи требуют поддержки как оборудования, так и драйверов; некоторые видеокарты могут поддерживать наложение на втором дисплее, в то время как их драйверы могут еще не поддерживать его (примечание: недавние (июль 2008 г.) ошибки драйвера графического чипсета могут привести к тому, что большинство видеоформатов, кроме mpeg2, будут работать на обоих мониторах, а mpeg2 только на основном с большинством игроков).

Некоторые пользователи отмечают, что фильмы DVD правильно отображаются на экране ноутбука, но не отображаются на телевизоре, подключенном к ноутбуку; в этих случаях можно назначить телевизор в качестве основного дисплея. Иногда может потребоваться отключить использование аппаратных оверлеев в медиаплеере. Однако некоторые видеокарты имеют возможность полностью перенаправить аппаратное наложение на экран телевизора. В этом случае запуск DVD-плеера на главном экране с включенным наложением приведет к отображению видео на подключенном экране телевизора.

Реализации в различных операционных системах

Расширенные графические возможности Windows Vista заменяют базовую концепцию аппаратных наложений полным аппаратным композитингом для каждого окна приложения, запущенного в системе, не только проигрыватели фильмов или игры, через Desktop Window Manager. Mac OS X использует аппаратную композицию с момента появления Quartz Extreme в Mac OS X 10.2. Для повышения производительности каждая программа использует собственный независимый буфер памяти, а не медленную графическую подсистему. (В Windows Vista каждое аппаратное наложение более правильно известно как поверхность Direct3D). Затем системный GPU собирает каждое из окон в один экран в реальном времени. Благодаря современным графическим процессорам, способным к продвинутой 3D-графике (как следствие индустрии видеоигр), операционные системы могут применять вычислительно-интенсивные эффекты движения, масштабирования и освещения к обычным 2D-окнам.

В связи с необходимостью снижения энергопотребления в Windows 7 была добавлена ​​ограниченная поддержка наложений, а в Windows 8.1 добавлена ​​поддержка многоплоскостных наложений. Многоплоскостные наложения позволяют Диспетчеру окон рабочего стола автоматически отображать части рабочего стола в наложениях, экономя энергию в большем числе случаев.

В X Window System, оконной системе большинства операционных систем Unix, расширение XVideo может позволить приложениям использовать аппаратные наложения. Также используется композитинг, причем наиболее яркими примерами с 2006 года являются compiz и Beryl составные оконные менеджеры. Они могут использовать преимущества OpenGL (через расширение glx) для наложения визуальных эффектов 3D и 2D. Другие реализации, такие как Metacity и xfwm, были доступны с 2004 года.

Некоторые специализированные аппаратные оверлейные устройства используют встроенный Linux в качестве операционной системы для Например, видеорегистратор [1] от Racelogic использует микроконтроллер Texas Instruments DM355 для смешивания кадрового буфера, содержащего графику, с потоком видео в реальном времени, а затем сохранить результат в формате MPEG-4 на флэш-карте.

Поддержка наложения, также известная как «Картинка в картинке» (PIP), была представлена ​​в AmigaOS с появлением графических карт для ПК, Picasso96 и CyberGraphX ​​ систем графических драйверов, также известных как ReTargetable Graphics, для карт Picasso IV и Voodoo3 система драйверов picasso'96 стала стандартной в AmigaOS 3.5. Moovid был одним из первых видеоплееров, поддерживающих аппаратное наложение (PIP) на AmigaOS.

Ссылки
Последняя правка сделана 2021-05-22 13:36:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте