Articulo de referencia

Superposición de hardware

En informática , la superposición de hardware , un tipo de superposición de vídeo , proporciona un método para renderizar una imagen en una pantalla mediante un búfer de memoria...

En informática , la superposición de hardware , un tipo de superposición de vídeo , proporciona un método para renderizar una imagen en una pantalla mediante un búfer de memoria dedicado dentro del hardware de vídeo del ordenador. Esta técnica busca mejorar la visualización de imágenes de vídeo de alta velocidad , como las de un videojuego , un DVD o la señal de una tarjeta de televisión . La mayoría de las tarjetas de vídeo fabricadas desde aproximadamente 1998 y la mayoría de los reproductores multimedia son compatibles con la superposición de hardware. [ 1 ]

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

Descripción general

El uso de una capa superpuesta de hardware es importante por varias razones:

  1. En un sistema operativo con interfaz gráfica de usuario (GUI) , como Windows , un único dispositivo de visualización puede mostrar varias aplicaciones simultáneamente.
  2. Consideremos cómo funciona una pantalla sin una capa de hardware. Cuando cada aplicación dibuja en la pantalla, el subsistema gráfico del sistema operativo debe comprobar constantemente que los objetos dibujados aparezcan en la ubicación correcta y que no colisionen con ventanas superpuestas o adyacentes. El subsistema gráfico debe recortar los objetos mientras se dibujan cuando se produce una colisión. Esta comprobación y recorte constantes garantizan que las diferentes aplicaciones puedan cooperar entre sí compartiendo la pantalla, pero también consumen una parte significativa de la potencia de procesamiento.

Un ordenador dibuja en su pantalla escribiendo una representación de los gráficos en formato de mapa de bits en una porción especial de su memoria, conocida como memoria de vídeo . Sin superposiciones de hardware, solo existe un bloque de memoria de vídeo que todas las aplicaciones deben compartir; además, la ubicación de la memoria de vídeo de una aplicación cambia cada vez que el usuario modifica la posición de la ventana de la aplicación. Con la memoria de vídeo compartida, una aplicación debe comprobar constantemente que solo está escribiendo en la memoria que le pertenece.

Al ejecutar aplicaciones de vídeo de alto ancho de banda, como reproductores de vídeo o algunos juegos, la potencia de cálculo y la complejidad necesarias para realizar el recorte y la comprobación constantes afectan negativamente al rendimiento y la compatibilidad. Una superposición de hardware evita estas limitaciones. Además, la unidad de procesamiento gráfico (GPU) proporciona una forma eficiente de escalar el tamaño del vídeo y, a menudo, realiza conversiones de formato de color (como la conversión de YCbCr de MPEG-2 a RGB).

Una aplicación que utiliza una superposición de hardware obtiene una sección de memoria de vídeo completamente independiente que le pertenece exclusivamente. Dado que ningún otro programa la utiliza, no necesita gastar recursos comprobando si una parte determinada de la memoria le pertenece, ni tampoco necesita monitorizar si el usuario mueve la ventana y cambia la ubicación de la memoria de vídeo. Para que la imagen de la memoria de vídeo independiente se muestre junto con los demás elementos compartidos en la pantalla, el subsistema gráfico asocia un atributo específico (por ejemplo, un color concreto) como "máscara" para esa superposición. La tarjeta gráfica interpreta esto como la indicación de que debe dibujar desde el búfer de superposición independiente en la pantalla. (Esta técnica se conoce como " clave de croma ").

Por ejemplo, supongamos que el subsistema gráfico define el color "púrpura" como el color de máscara que activa la superposición. Una aplicación que reproduce un DVD dibujará un rectángulo púrpura sólido en la pantalla compartida y luego reproducirá el DVD en la región de memoria dedicada a la superposición. La tarjeta gráfica renderizará la reproducción del DVD solo dentro del área púrpura. Si otra ventana se superpone al área púrpura y oculta parte de ella, el hardware gráfico realiza el recorte automáticamente. En la práctica, no se utiliza el color "púrpura" propiamente dicho; en su lugar, se utiliza un color neutro cercano al negro (ya que el sistema suele tener miles de tonalidades para elegir) o bien la región de máscara se delimita mediante algún método de enmascaramiento similar que no involucre colores.

Capturas de pantalla

Como consecuencia del uso de superposiciones de hardware, un programa de captura de pantalla (por ejemplo, el que viene integrado en Windows y se activa al pulsar la tecla Impr Pant) a menudo no captura el contenido de la ventana de superposición. En su lugar, captura una región en blanco que contiene únicamente el color de la máscara especial. Esto se debe a que la rutina de captura de pantalla no tiene en cuenta las regiones de memoria de vídeo dedicadas a las superposiciones; simplemente captura la pantalla principal compartida tal como la renderiza el subsistema gráfico del software.

Pantallas secundarias

Muchos más nuevosLas tarjetas gráficas 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 el dispositivo "principal", y solo el dispositivo principal puede mostrar superposiciones de hardware. Hay excepciones: Intel escribe en las preguntas frecuentes de sus controladores de gráficos integrados que la superposición se puede conectar a cualquiera de las pantallas, pero no a ambas (nota: los chipsets Intel 945, G33-Q965 ahoraCuentan con superposición de hardware dual y son capaces de reproducir MPEG2 de buena calidad en monitores secundarios cuando se instala el software adecuado; y algunas tarjetas gráficas Matrox más recientes admiten la superposición en ambas pantallas (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, aunque sus controladores aún no lo admitan (nota: reciente (julio de 2008)Los errores en el controlador del chipset gráfico pueden provocar que la mayoría de los formatos de vídeo, excepto MPEG-2, funcionen en ambos monitores, y que MPEG-2 solo funcione en el principal con la mayoría de los reproductores.

Algunos usuarios observan que las películas en DVD se visualizan correctamente en la pantalla de un portátil, pero no en un televisor conectado al mismo; en estos casos, puede ser posible configurar el televisor como pantalla principal. A veces, puede ser necesario desactivar las superposiciones de hardware en el reproductor multimedia. Sin embargo, algunas tarjetas gráficas permiten redirigir completamente la superposición de hardware a la pantalla del televisor. En este caso, al iniciar un reproductor de DVD en la pantalla principal con la superposición activada, el vídeo se mostrará en el televisor conectado.

Implementaciones en diversos sistemas operativos

Las capacidades gráficas mejoradas de Windows Vista reemplazan el concepto básico de superposiciones de hardware con composición de hardware completa para cada ventana de aplicación que se ejecuta en el sistema, no solo 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 dibuja en su propio búfer de memoria independiente en lugar de en un subsistema gráfico lento. (En Windows Vista, cada superposición de hardware se conoce más correctamente como una superficie Direct3D). Luego, la GPU del sistema ensambla cada una de las ventanas en una sola pantalla en tiempo real. Con las GPU modernas capaces de gráficos 3D avanzados (como consecuencia de la industria de los videojuegos), los sistemas operativos pueden aplicar efectos de movimiento, escalado e iluminación computacionalmente intensivos a ventanas 2D normales.

Debido a la necesidad de reducir el consumo de energía, Windows 7 volvió a añadir soporte limitado para superposiciones, [ 3 ] [ 4 ] y Windows 8.1 añadió soporte para superposiciones de múltiples planos. [ 5 ] Las superposiciones de múltiples planos permiten que el Administrador de ventanas de escritorio renderice automáticamente partes del escritorio en superposiciones, ahorrando energía en más circunstancias.

En el sistema X Window , el sistema de ventanas de la mayoría de los sistemas operativos Unix , la extensión XVideo permite que las aplicaciones utilicen superposiciones de hardware. También se utiliza la composición, siendo los gestores de ventanas de composición Compiz y Beryl los ejemplos más destacados desde 2006. Estos gestores aprovechan OpenGL (mediante 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 embebido como sistema operativo, por ejemplo el registrador de vídeo.El sistema de Racelogic utiliza un microcontrolador DM355 de Texas Instruments para combinar un búfer de fotogramas que contiene gráficos con una señal de vídeo en directo y, a continuación, almacenar el resultado en formato MPEG-4 en una tarjeta de memoria flash.

La compatibilidad con superposiciones, también conocida como Picture In Picture (PIP), se introdujo en AmigaOS con la llegada 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 superposiciones de hardware (PIP) en AmigaOS .

Referencias

  1. ¿Qué es una superposición? – Computer Hope
  2. "Superposición multiplano (MPO)" . Documentación del kernel de Linux . Consultado el 27 de mayo de 2026 .
  3. "Compatibilidad con superposición de hardware - Aplicaciones Win32" . 7 de enero de 2021.
  4. "Renderizado de interfaz de usuario en Windows 7" . VirtualDub.org .
  5. "Mejoras de DXGI 1.3 - Aplicaciones Win32" . 6 de enero de 2021.