La reproducción de vídeo dentro de entornos tridimensionales en Linux da un paso adelante con Wine 11.16, que estrena una mejora en la aceleración por hardware del vídeo H.264 cuando este forma parte de flujos tridimensionales. En la práctica, la novedad toca de lleno a los programas de Windows que integran vídeo como textura dentro de un motor 3D y reduce esa carga que, hasta ahora, recaía casi por completo sobre el procesador.
Conviene recordar qué es Wine. Se trata del proyecto que permite ejecutar programas de Windows en Linux sin necesidad de montar una máquina virtual completa. Lo hace traduciendo las llamadas que esos programas envían al sistema, de modo que el equipo pueda entenderlas. Y la reproducción de vídeo ha sido durante años uno de los puntos más delicados de toda esa traducción. Sobre todo cuando el contenido no aparece en una ventana aparte, sino aplicado como textura sobre una superficie dentro de un entorno 3D. Justo ahí es donde la aceleración por hardware aterriza con esta versión.
Qué son los flujos 3D y por qué complican tanto el vídeo
El anuncio no entra en tecnicismos a la hora de definir qué se entiende exactamente por «flujos 3D». Pero el término suele usarse para esos vídeos que no viven en una ventana propia, sino que se aplican como textura sobre un objeto o una superficie dentro de un entorno tridimensional. Pensad en los menús de algunos videojuegos, o en las pantallas virtuales que aparecen en ciertos simuladores.
El problema llega al mezclar esa reproducción con el renderizado 3D. El sistema tiene que atender dos tareas exigentes a la vez: descodificar el vídeo y, al mismo tiempo, dibujar el resto de la escena. Cuando la descodificación cae solo sobre el procesador, cualquier peso extra sobre la tarjeta gráfica puede acabar en pérdida de fluidez. La aceleración por hardware que trae Wine 11.16 traslada parte de ese trabajo a la GPU, lo que en teoría alivia al procesador durante ese tipo de escenas.
Cómo traduce Wine el vídeo de Windows en Linux
El funcionamiento de fondo es este. Wine traduce las llamadas que un programa de Windows hace al sistema operativo para reproducir vídeo y las adapta a los componentes equivalentes disponibles en Linux. No es un trabajo menor. De hecho, es una de las tareas más complejas del proyecto, porque los formatos y las arquitecturas de cada sistema no siempre coinciden entre sí.
Sin aceleración por hardware, esa traducción terminaba resolviéndose por software. O sea, con el procesador calculando cada fotograma del vídeo de forma independiente del resto del sistema. Un reparto de tareas poco eficiente, que se notaba especialmente en escenas donde el propio motor gráfico ya andaba ocupado dibujando el resto del entorno tridimensional. Al delegar la descodificación en la GPU, Wine 11.16 deja el procesador libre para otras cosas mientras la tarjeta gráfica se encarga tanto del renderizado como del vídeo.
Fuente
Imagen: softzone.es
