Hace apenas un par de días, Microsoft dio una interesante sorpresa al entregar detalles de lo que va a ser la siguiente versión de la interfaz de programación de aplicaciones (o API según sus siglas en inglés) de la que tanto dependemos hoy en día. Veamos qué es lo que se viene.
No importa de qué se trate, el mundo multimedia no se detiene. ATI agregó a sus tarjetas el soporte para DirectX 10.1 apenas salió. Por otro lado, a Nvidia no parece importarle mucho, y sigue implementando sólo la versión 10 en sus productos, a pesar de los gritos que muchos de sus consumidores están dando. Y para ser sinceros, aún hay mucha gente que está buscando las diferencias entre DirectX 9 y DirectX 10, al punto de pensar que la versión 10 es igual a la 9, sólo que más lenta.
Pero habiendo extendido la vida de Windows XP, y aplicando recursos para hacer a Windows Vista más estable y eficiente, Microsoft sorprendió al patear el balón una vez más, revelando detalles sobre la siguiente versión de DirectX. En primer lugar, Microsoft mencionó la completa compatibilidad que tendrá DirectX 11 con Windows Vista, y con versiones superiores de Windows, lo que nos lleva a pensar que esta versión 11 tiene posibilidades de venir integrada junto con el próximo Windows 7. Por supuesto, no hay indicio alguno de que DirectX 11 sea compatible con Windows XP, y tal vez nunca lo haya, teniendo en cuenta que DirectX 10 no puede instalarse en ese sistema operativo.
Otro punto muy importante al que se refirió Microsoft fue al de compatibilidad. Quienes han seguido la evolución de DirectX con el paso del tiempo, están conscientes de las dificultades que surgieron entre las versiones 9 y 10, incluso con Microsoft aún trabajando en mejorar diferentes aspectos de la versión 9 (y las aplicaciones que hagan uso de ella) bajo Windows Vista. Pero la situación sería diferente con DirectX 11, siendo compatible con las versiones 10 y 10.1. Aún faltan detalles sobre qué funciones serán compatibles, pero no es desagradable saber que el hardware existente con soporte para las versiones 10 y 10.1, podrá ser usado en DirectX 11.
Si hay algo que ha ganado impulso en estos últimos tiempos, es el procesamiento paralelo. Cada vez son más los que se preguntan por qué un chip de vídeo 3D sólo debe usarse para procesar eso, cuando en realidad posee un potencial mucho más grande. Nvidia ya dio el primer paso añadiendo soporte al sistema PhysX, lo que ha provocado un aumento de rendimiento bastante interesante entre sus tarjetas de alta gama, además de una gran controversia, debido a los puntajes obtenidos con estos controladores en el 3DMark Vantage.
Pero Microsoft parece haber comprendido esto, y anunció que su versión 11 de DirectX incorporará una nueva tecnología de computación de shaders, permitiendo a un chip de vídeo realizar otras operaciones paralelas, además del clásico procesamiento 3D. Con la optimización suficiente, los desarrolladores podrán en teoría usar a la tarjeta de vídeo como si fuera un procesador más, aumentando el rendimiento en sus aplicaciones. Y remarcamos optimización suficiente, debido a que existen muy pocas aplicaciones que pueden hacer uso de esta mejora tecnológica. El tiempo dirá si esta función se vuelve algo crítico e indispensable, o si se la llevará el viento.
En un aspecto similar al procesamiento paralelo, Microsoft también describió que la versión 11 tendrá significativas mejoras en cuanto a eficiencia bajo entornos de múltiples núcleos. Hasta el momento, el mercado nos está entregando procesadores de dos, tres, y hasta cuatro núcleos para ordenadores personales, pero si tomamos en cuenta a cosas como la Ley de Moore, el año 2010 podría sacudirnos con procesadores de 16 núcleos o más.
Ante este posible entorno, la escalabilidad de DirectX 11 será vital para las aplicaciones que vendrán en el futuro cercano. Los desarrolladores todavía están luchando con la creación de aplicaciones que rindan al máximo usando múltiples núcleos, y a medida que se vuelven mejores en ello, necesitarán una herramienta que esté a la altura de sus capacidades. DirectX 11 lo sería, en teoría al menos.
La última función que Microsoft declaró para DirectX 11, es el nuevo soporte del proceso conocido como teselación. De acuerdo a la Real Academia, una tesela es cada una de las piezas con las que se forma un mosaico. Una respuesta más elaborada ubica a la teselación como un patrón de figuras que logran cubrir por completo una superficie plana, sin dejar ningún espacio libre, y sin que haya interferencia alguna entre las figuras.
¿Cómo se aplica esto a DirectX? La nueva función de teselación permitiría a los desarrolladores crear modelos mucho más suavizados y agradables, incluso cuando se los ve muy de cerca, minimizando la pérdida de calidad. Tal es la seguridad de Microsoft, que como comentario agregó que esta función "hará difusa la línea entre pre-renderizados de alta calidad, y renderizados en tiempo real". Esta nueva función se basa en una tecnología ya aplicada por Microsoft en su consola Xbox 360, sólo que más elaborada y refinada.
Hasta aquí, las declaraciones de Microsoft. ¿Qué nos queda a nosotros, pequeños mortales? Un poco de perplejidad, tal vez. Todavía ni siquiera hay juegos que demanden de manera exclusiva a DirectX 10 o a Windows Vista (Alan Wake es lo único que se nos viene a la mente), y un gigante del hardware como Nvidia todavía no implementa la versión 10.1, cuando Microsoft se pone a anunciar detalles sobre la versión 11 de su API. Si piensas que tal vez Microsoft se está apresurando un poco con esto, no podemos culparte. De hecho, ni siquiera hay una fecha concreta de lanzamiento. Por otro lado, las nuevas funciones son bienvenidas, pero podrían haber estado presentes en la versión 10. Hoy en día ya tenemos procesadores gráficos poderosos, y múltiples núcleos en nuestros ordenadores, y el saber que no están siendo aprovechados al máximo de sus capacidades, no es algo que nos agrade mucho. De momento, las cosas siguen como están. DirectX 9 tiene mucho camino por delante, y hasta que DirectX 10 no termine de madurar, a la versión 11 sólo podemos colocarla en la línea futura que vendrá con Windows 7.
¡Buena suerte!