Menu
in

Todo DirectX en Windows 7

Windows 7 se viene con todo, incluyendo fecha oficial de salida y una expectativa que pocas veces se vio en un software. La beta y el Release Candidate resultaron ser dos versiones lo suficientemente sólidas como para tentar a millones de usuarios y dejarlos a la terrible espera de la versión final. Todos aquellos que decidieron evadir a Windows Vista esperan encontrar en Windows 7 la razón definitiva para abandonar al estable pero vetusto Windows XP . Además de incorporar múltiples mejoras, Windows 7 dará un paso significativo a la hora de aprovechar el poder de procesamiento que poseen las tarjetas de vídeo que existen hoy en día, y sólo puede hacerlo a través de su API insignia: DirectX. Si quieres saber todo lo que traerá DirectX en Windows 7, y te has perdido nuestros artículos anteriores, debes darle un vistazo a esto.

Para recordar a la primera versión de DirectX debemos retroceder hasta el año 1995, más precisamente en el mes de septiembre, una época en la que los desarrolladores consideraban que el DOS era una plataforma mucho más adecuada para crear y ejecutar juegos. Con la salida de Windows 95 y su modo protegido, las cosas se complicaron mucho para los desarrolladores, y una de las consecuencias que los usuarios debimos pagar fue el ver cómo un juego que solía volar bajo DOS era casi imposible de jugar en Windows 95. De esta forma, Microsoft comenzó la larga y dura campaña DirectX, promocionando a su sistema operativo como la plataforma ideal para juegos y otorgándole a los desarrolladores las herramientas necesarias para que pudieran sacar el máximo provecho de DirectX. En ese entonces había dos APIs competidores, el Glide de 3dfx y el conocido OpenGL. El tiempo dictaminó la desaparición de Glide junto con la quiebra de 3dfx, y con el paso del tiempo, los títulos fueron dejando de lado a OpenGL para adoptar a DirectX. Hoy en día, DirectX es el estándar de facto en el mundo de los videojuegos.

Windows Vista incorporó a DirectX 10, y dentro de esa versión del API hubo muchas mejoras. Lamentablemente, la falta de juegos, hardware, y soporte para Windows XP hicieron de DirectX 10 algo así como el chico malo de la película. El Service Pack 1 de Windows Vista introdujo la revisión 10.1 de DirectX, pero las cosas no cambiaron en nada. Los juegos con soporte DirectX 10 son realmente pocos, y ni siquiera vale la pena mencionar si existe algún título que requiera sí o sí de esa versión. Sin embargo, el hecho de que DirectX 10 haya mordido más de lo que podía masticar en Windows Vista no provocó un cambio radical. DirectX sigue siendo utilizado por las grandes empresas del entorno, y todo indica que pasará un largo tiempo antes de que alguien se atreva a abandonarlo. Con Windows 7, la versión 11 de DirectX se hará manifiesta. Y junto con ella, vienen varias mejoras que nos ayudarán a tener una idea de cómo hará Microsoft para aumentar el rendimiento multimedia de Windows 7.

1) El Administrador de Escritorio de Windows recurrirá a DirectX 10. Para poder lograr que el escritorio de Windows 7 sea acelerado por DirectX 10 se necesitará hardware y controladores compatibles con WDDM 1.1. De lo contrario, aquellos que no cuenten con esa clase de hardware o no obtengan soporte de controladores por parte del fabricante, podrán acceder a los efectos de escritorio recurriendo a "DirectX 10-nivel-9", un conjunto de instrucciones secundarias de Direct3D 10 que pueden ejecutarse bajo hardware compatible con DirectX 9.

Además de las obvias mejoras que aporta el utilizar el Administrador de Escritorio en modo DirectX 10, también se logra una mejor manutención del Administrador en futuras versiones del sistema operativo. Esto se logra gracias a la intervención del DXGI, o Interfaz Gráfica DirectX. En las versiones previas de Direct3D, las funciones como el control de gama y el modo de pantalla completa estaban bajo el gobierno del runtime mismo, pero con la aparición de DXGI, dichas funciones son "independizadas" de Direct3D, aumentando la estabilidad. Como adición, todo Direct3D ha sido re-escrito, de forma tal que se le podrá dar un mejor soporte, haciendo más fácil el proceso de actualización y aplicación de parches según sea necesario.

Sin embargo, esto no quiere decir que DirectX 9 quedará en el olvido ni mucho menos. DirectX 10-nivel-9 se encargará de dar soporte haciendo que aplicaciones basadas en DirectX 10 puedan ejecutarse en hardware DirectX 9. Con la intervención de DirectX 10-nivel-9, un desarrollador puede utilizar un código fuente único, sin necesidad de "programar dos veces" según la versión de DirectX. También, de acuerdo a Microsoft, utilizar a DirectX 10-nivel-9 es más rápido que recurrir a DirectX 9 en su forma nativa, ya que los desarrolladores podrán aprovechar las mejoras inherentes en DirectX 10, aún apuntando a ejecutar sus aplicaciones en hardware DirectX 9. Por último, crear extensiones para dar el salto de DirectX 10 o DirectX 10-nivel-9 a DirectX 11 será mucho más sencillo que crear una extensión para hacer lo mismo desde DirectX 9 a DirectX 11, debido a las diferencias de programación existentes.

2) Gracias a las mejoras en Windows 7, Direct3D 10 puede renderizar de forma remota en un cliente. Con esta capacidad, el aumento del rendimiento del lado del cliente se ve reflejado principalmente en una mayor cantidad de cuadros por segundo. Windows Vista lograba algo parecido a través de mapas de bits conteniendo datos para aplicaciones Direct3D genéricas o primitivos GDI, pero la calidad y la velocidad del resultado estaba muy lejos de lo que se esperaba. Bajo Windows 7, las aplicaciones que utilicen DirectX 10.1 pueden enviar comandos a la tarjeta de vídeo instalada en el cliente remoto, logrando un nivel gráfico y un rendimiento muy superior. El servidor no requiere ninguna clase de aceleración gráfica, de forma tal que los desarrolladores pueden ajustar y optimizar la calidad gráfica según limitaciones existentes como ancho de banda disponible y capacidades de vídeo del cliente remoto. Sólo debido a estas mejoras, Microsoft está sugiriendo a los fabricantes de sistemas que adopten lo antes posible a chips de vídeo compatibles con DirectX 10 y 11, para que los nuevos sistemas puedan recibir todos estos avances al instalar Windows 7 en ellos.

De todas formas, no todo es 3D dentro de DirectX. Tanto GDI como GDI+ quedarían prácticamente obsoletos con la aparición de Direct2D, un API para gráficos de dos dimensiones que poseerá un rendimiento muy superior al que hemos visto hasta ahora. Direct2D se ubica como una capa por encima de Direct3D y DXGI, logrando una adaptabilidad superior. Direct2D podrá ser utilizado por hardware compatible con DirectX 10, y con hardware DirectX 9 a través de las instrucciones DirectX 10-nivel-9. Direct2D intentará por todos los medios posibles recurrir a la aceleración de hardware que haya disponible, pero en caso de no haberla, contará con un sistema de renderizado por software que otorgará compatibilidad suficiente y tendrá mucho mejor rendimiento que GDI+.

3) Windows 7, además de todos los ajustes y mejoras que hemos mencionado, también contará con Direct3D 11, una extensión directa de Direct3D 10. Ya habíamos hablado de él y del resto del paquete que le dará forma a DirectX 11, pero es bueno darle una repasada, estando a casi cuatro meses del lanzamiento de Windows 7. Todos concuerdan con que la inclusión más importante de Direct3D 11 es la de los shaders de cómputo. Esto permite, en términos sencillos, utilizar el procesador gráfico para operaciones generales, además de renderizado, también conocido como GPGPU. Una tarjeta de vídeo de alta gama posee algo cercano a cuatro teraflops de capacidad de procesamiento, con un sistema de memoria que es al menos nueve o diez veces el ancho de banda con el que cuenta un CPU ordinario. Además de videojuegos, es probable que aplicaciones como editores de imágenes o vídeo puedan aprovechar el inmenso poder que tienen las tarjetas de vídeo hoy en día. Como si fuera poco, los shaders de cómputo son "escalables", de forma que pueden aprovechar más de una tarjeta o chip gráfico disponible, aumentando aún más el rendimiento.

Específicamente hablando sobre gráficos 3D, Direct3D 11 incorpora avances en varios aspectos, destacándose en el procesamiento paralelo y la utilización de múltiples núcleos. Direct3D 11 podrá administrar los tiempos de ejecución y las cargas de las aplicaciones de forma paralela y completamente asincrónica, aprovechando así los diferentes núcleos que un procesador tenga disponibles. Además, la capacidad de multi-hilos que incorpora Direct 3D 11 permite procesamiento en segundo plano que se traducirá en mayor velocidad en toda aplicación 3D, especialmente videojuegos. El hardware compatible con DirectX 10 puede hacer uso de esta capacidad a través de DirectX 11, pero el factor limitante serán los controladores de los fabricantes de tarjetas de vídeo.

Otro aspecto de las capacidades de Direct3D 11 se encuentra en el teselado. Toda superficie tiene cierto grado de imprecisión, pero con la aplicación del teselado, Direct3D 11 puede lograr curvas más suaves y superficies más detalladas. El teselado también puede renderizar un objeto en diferentes niveles de calidad. Por ejemplo, si un edificio está muy lejos, es innecesario renderizarlo con todos sus detalles, pero a medida que nos acercamos, el detalle va aumentado. El teselado hará que dicha transición sea llevada a cabo de forma más precisa y agradable a la vista. En resumen, el teselado le permite al diseñador crear material mucho más relacionado con su idea original, en vez de tener que rendirse ante las limitaciones de la digitalización.

El resto de las funciones disponibles son la capacidad de desarrollar aplicaciones de plataforma cruzada entre un ordenador y la Xbox 360 (haciendo que el paso de un videojuego desde una plataforma a la otra sea mucho menos traumático), compresión mejorada de texturas que permitirá texturas más realistas y agradables, el modelo deshaders en su versión 5.0, y mejoras en las capacidades de búfer profundo, muy utilizado en los videojuegos, que se verán especialmente en escenarios con las denominadas "partículas blandas" y con efectos de niebla volumétrica. Todo suena muy pero muy bien, especialmente Direct3D 11 y su capacidad GPGPU. Ahora, necesitamos un sistema operativo. Ya anotaron el 22 de octubre, ¿verdad?

Escrito por Lisandro Pardo

Leave a Reply