stringtranslate.com

Superposición de hardware

En informática , la superposición de hardware , un tipo de superposición de video , proporciona un método para representar una imagen en una pantalla con un buffer de memoria dedicado dentro del hardware de video de la computadora . La técnica tiene como objetivo mejorar la visualización de una imagen de vídeo en rápido movimiento , como un juego de ordenador , un DVD o la señal de una tarjeta de televisión . La mayoría de las tarjetas de video fabricadas desde aproximadamente 1998 y la mayoría de los reproductores multimedia admiten la superposición de hardware. [1]

La superposición es un búfer dedicado en el que se puede renderizar una aplicación (normalmente vídeo), sin incurrir en el importante coste de rendimiento de comprobar si hay recortes y renderizado superpuesto por otras aplicaciones. El framebuffer tiene soporte de hardware para importar y renderizar el contenido del búfer sin pasar por la GPU. [ cita necesaria ]

Descripción general

El uso de una superposición de hardware es importante por varias razones: [ cita necesaria ]

  1. En un sistema operativo de interfaz gráfica de usuario (GUI) como Windows , un dispositivo de visualización normalmente puede mostrar varias aplicaciones simultáneamente.
  2. Considere cómo funciona una pantalla sin superposición de hardware. Cuando cada aplicación dibuja en la pantalla, el subsistema gráfico del sistema operativo debe verificar constantemente para garantizar que los objetos que se dibujan aparezcan en la ubicación adecuada de la pantalla y que no choquen con ventanas superpuestas o vecinas. El subsistema gráfico debe recortar objetos mientras se dibujan cuando ocurre una colisión. Esta verificación y recorte constantes garantiza que diferentes aplicaciones puedan cooperar entre sí para compartir una pantalla, pero también consume una proporción significativa de potencia informática.

Una computadora dibuja su pantalla escribiendo una representación de mapa de bits de los gráficos en una porción especial de su memoria conocida como memoria de video . Sin superposiciones de hardware, sólo existe una porción de memoria de video que todas las aplicaciones deben compartir, y la ubicación de la memoria de video de una aplicación determinada se mueve cada vez que el usuario cambia la posición de la ventana de la aplicación. Con la memoria de video compartida, una aplicación debe verificar constantemente que solo esté escribiendo en la memoria que pertenece a esa aplicación.

Cuando se ejecuta una aplicación de vídeo de gran ancho de banda, como un reproductor de películas o algunos juegos, la potencia informática y la complejidad necesarias para realizar recortes y comprobaciones constantes afectan negativamente al rendimiento y la compatibilidad. Una superposición de hardware escapa a estas limitaciones. Además, la unidad de procesamiento de gráficos (GPU) proporciona una forma eficaz de escalar el tamaño del vídeo y, a menudo, realiza conversiones de formato de color (como YCbCr de MPEG-2 a RGB).

Una aplicación que utiliza una superposición de hardware obtiene una sección completamente separada de memoria de video que pertenece únicamente a esa aplicación. Debido a que nada más lo usa, el programa nunca necesita desperdiciar recursos comprobando si una determinada parte de la memoria le pertenece, ni necesita monitorear si el usuario mueve la ventana y cambia la ubicación de la memoria de video. Para que la imagen de la memoria de video separada se muestre junto con los elementos compartidos restantes en la pantalla, el subsistema gráfico asocia un determinado atributo (por ejemplo, un color particular) como una "máscara" para esa superposición, que la tarjeta gráfica entiende que se trata de dibujar desde el búfer de superposición separado en la pantalla. (Esta técnica se conoce como " clave cromática ".)

Como ejemplo, supongamos que el subsistema gráfico define el color "púrpura" como el color de máscara que activa la aparición de la superposición. Una aplicación que reproduce un DVD dibujará un rectángulo morado sólido en la pantalla compartida y luego "reproducirá" el DVD en la región especial de la memoria dedicada a la superposición. La tarjeta gráfica reproducirá el DVD sólo dentro del área violeta. Si otra ventana se mueve sobre el área violeta y oscurece una parte de ella, entonces el hardware de gráficos realiza el recorte por sí solo. En la práctica, el color real "púrpura" no se usa; más bien, se usa un color anodino casi negro (ya que el sistema a menudo tiene miles de tonos para elegir), o la región de la máscara se indica usando algún método de enmascaramiento similar. sin involucrar colores.

Capturas de pantalla

Como consecuencia del uso de superposición de hardware, un programa de captura de pantalla (por ejemplo, el integrado automáticamente en Windows que se activa cuando un usuario presiona la tecla PrtSc) a menudo no captura el contenido que aparece en la ventana de superposición de hardware. Más bien, se captura una región en blanco que contiene sólo el color de máscara especial. Esto se debe a que la rutina de captura de pantalla no considera las regiones especiales de la memoria de video dedicadas a las superposiciones; simplemente captura la pantalla principal compartida tal como la representa el subsistema gráfico del software.

Pantallas secundarias

Muchas tarjetas gráficas más nuevas pueden admitir más de un monitor y/o una pantalla de TV como dispositivos de salida. Normalmente, uno de estos dispositivos de salida debe declararse como dispositivo "principal", y sólo el dispositivo principal puede mostrar superposiciones de hardware. Hay excepciones: Intel escribe en las preguntas frecuentes sobre sus controladores de gráficos integrados que la superposición se puede conectar a cualquiera de las pantallas, pero no a ambas (nota: los conjuntos de chips Intel 945, G33-Q965 ahora tienen una superposición de hardware dual y son capaces (por ejemplo, la serie Parhelia).

Las pantallas secundarias requieren soporte tanto de hardware como de controladores; algunas tarjetas gráficas pueden admitir la superposición en la segunda pantalla, mientras que es posible que sus controladores aún no la admitan (nota: errores recientes (julio de 2008) en el controlador del chipset de gráficos pueden hacer que la mayoría de los formatos de video, excepto mpeg2, funcionen en ambos monitores, y mpeg2 solo en el principal con la mayoría de los jugadores).

Algunos usuarios notan que las películas en DVD se muestran correctamente en la pantalla de una computadora portátil, pero no en un televisor conectado a la computadora portátil; en estos casos, es posible designar el televisor como pantalla principal. A veces, es posible que sea necesario desactivar el uso de superposiciones de hardware en el reproductor multimedia. Sin embargo, algunas tarjetas gráficas tienen la opción de redirigir completamente la superposición de hardware a la pantalla del televisor. En este caso, iniciar un reproductor de DVD en la pantalla principal con la superposición habilitada provocaría que el vídeo se mostrara en la pantalla del televisor adjunto.

Implementaciones en varios sistemas operativos.

Las capacidades gráficas mejoradas de Windows Vista reemplazan el concepto básico de superposiciones de hardware con composición completa de hardware para cada ventana de aplicación que se ejecuta en el sistema, no sólo reproductores de películas o juegos, a través del Administrador de ventanas de escritorio . Mac OS X ha utilizado la composición de hardware desde la introducción de Quartz Extreme en Mac OS X 10.2 . Para mejorar el rendimiento, cada programa recurre a su propio búfer de memoria independiente en lugar de a un subsistema gráfico lento. (En Windows Vista, cada superposición de hardware se conoce más correctamente como superficie Direct3D). Luego, la GPU del sistema ensambla cada una de las ventanas en una única pantalla en tiempo real. Con GPU modernas capaces de generar gráficos 3D avanzados (como consecuencia de la industria de los videojuegos), los sistemas operativos pueden aplicar efectos de iluminación, escala y movimiento computacionalmente intensivos a ventanas 2D normales.

Debido a la necesidad de reducir el consumo de energía, Windows 7 volvió a agregar soporte limitado para superposiciones, [2] [3] y Windows 8.1 agregó soporte para superposiciones multiplano. [4] Las superposiciones de varios planos permiten que Desktop Window Manager represente automáticamente partes del escritorio en superposiciones, lo que ahorra energía en más circunstancias.

En X Window System , el sistema de ventanas de la mayoría de los sistemas operativos Unix , la extensión XVideo puede permitir que las aplicaciones empleen superposiciones de hardware. También se utiliza la composición, siendo los administradores de ventanas de composición compiz y Beryl los ejemplos más destacados desde 2006. Pueden aprovechar OpenGL (a través de la extensión glx) para efectos visuales de superposición 3D y 2D. Otras implementaciones como Metacity y xfwm están disponibles desde 2004.

Algunos dispositivos de superposición de hardware dedicados utilizan Linux integrado como sistema operativo; por ejemplo, el registrador de vídeo [1] de Racelogic utiliza un microcontrolador DM355 de Texas Instruments para combinar un búfer de fotogramas que contiene gráficos en una transmisión de vídeo en directo y luego almacenar el resultado en Formato MPEG-4 en una tarjeta flash.

El soporte de superposición, también conocido como Picture In Picture (PIP), se introdujo en AmigaOS con la introducción de las tarjetas gráficas para PC, los sistemas de controladores gráficos Picasso96 y CyberGraphX , también conocidos como ReTargetable Graphics , para las tarjetas Picasso IV y Voodoo3 , el sistema de controladores picasso'96 se convirtió en estándar en AmigaOS 3.5. Moovid fue uno de los primeros reproductores de vídeo que admitía superposición de hardware (PIP) en AmigaOS .

Referencias

  1. ^ ¿ Qué es la superposición? – Esperanza informática
  2. ^ "Compatibilidad con superposición de hardware: aplicaciones Win32". 7 de enero de 2021.
  3. ^ http://www.virtualdub.org/blog/pivot/entry.php?id=249
  4. ^ "Mejoras de DXGI 1.3: aplicaciones Win32". 6 de enero de 2021.