› Foros › Noticias › El Buffer
A menudo cuando hablamos sobre la potencia de las consolas o del hardware de PC mencionamos aspectos que a la mayoría de jugones ya nos resultan familiares: chip gráfico, velocidad de procesado, memoria RAM, resolución o tasa de fotogramas, pero en cambio nos olvidamos de algo que está ahí siempre presente y que es mucho más desconocido a pesar que es igualmente importante, las APIs.
Tranquilos, que este no será un artículo técnico denso dedicado a especialistas, todo lo contrario. Os vamos a explicar de forma bien clara y sencilla qué son las API como DirectX o Mantle, por qué son tan importantes y qué papel jugarán en el futuro del mundo del PC y las consolas de nueva generación.
Cerebro, músculo y corazón de los juegos
API viene del acrónimo inglés Application Programming Interface, y básicamente una API es el intérprete entre el motor de un juego y el hardware de una consola o PC. ¿Y por qué esto es importante? Veámoslo con un ejemplo:
Imaginad que vuestra consola (o PC) es un armario lleno de cajones. Cuantos más cajones, más potencia. Y ahora imaginad que vosotros tenéis una cantidad enorme de camisetas que queréis guardar ahí, las camisetas representan la cantidad de efectos gráficos que queréis poner en vuestro juego. Para poder guardar todas esas camisetas en los cajones del armario tendréis que doblar las camisetas y guardarlas, obvio, ¿no? Pues esa es la tarea de la API. Una buena API doblará la ropa lo más rápidamente posible y además las dejará bien ordenadas, haciendo así un buen uso del tiempo y el espacio. En cambio una API deficiente será lenta, dejará las camisetas arrugadas y, encima, sin orden con lo que luego le costará mayor trabajo encontrar la prenda que busca, desaprovechando así espacio y tiempo. ¿Se entiende el símil?
Según nuestra interpretación del panorama actual, debido a que las consolas de nueva generación tienen una arquitectura interna tan parecida a la de los PCs, los fabricantes se han dado cuenta de un problema, y es que la API de DirectX (estándar de facto en PC y parte importante en el desarrollo para Xbox One) es bastante ineficiente. Bueno, siendo sinceros no creemos que a nadie le pille de sorpresa todo esto, pero antes era un problema de menor relevancia debido a que una API ineficiente en PC repercute en una necesidad de mayor potencia, pero como un PC no tiene una potencia limitada sino que puede ir ampliándose de forma progresiva, el problema a la postre se soluciona demandando mayores requisitos de hardware.
Volviendo al ejemplo de antes. Si la API no es capaz de poner todas las camisetas en los cajones de un armario, en el caso que ese armario sea como una consola tendrá una capacidad concreta y entonces tendremos un problema. Necesitaremos una API más eficiente que pueda ordenar todas esas camisetas en el espacio limitado que tenemos. Pero si el armario funciona como un PC, pues al final añadimos más cajones y listo, podemos continuar con la API deficiente. Y he aquí uno de los principales motivos por el cual las consolas con menor potencia rinden mucho más que un PC. Y he aquí también otro de los motivos por el cual actualmente Xbox One no rinde tan bien como PlayStation 4, porque está utilizando DirectX 11, que es una API de PC poco eficiente.
Mejorando el rendimiento
Y ahora es cuando entran en escena las APIs DirectX 12 y Mantle. Por una parte AMD, que es quién fabrica los chips de Xbox One (y PlayStation 4), necesita demostrar que sus chips son suficientemente buenos para estar altura de lo que se espera de la nueva generación, sobre todo en PC, donde Intel y NVIDIA tienen mayor cuota de mercado, así que ni corta ni perezosa AMD ha decidido lanzar una API propia que sea más eficiente. A esta API la han llamado Mantle, y prometen que utilizando esta API el rendimiento de un juego puede mejorar hasta un 50%, obviamente con sus chips y tarjetas gráficas, aunque es una API también compatible con otras tecnologías y chips de la competencia como los de NVIDIA. Si bien Mantle ya está disponible y algunos juegos de PC como Battlefield 4 la utilizan, la mejora de rendimiento en el mejor de los casos es de un 25%.
Por otro lado tenemos a Microsoft, que lanzó DirectX 11 hace 5 años y finalmente se han decidido a mejorar y evolucionar su API. Será en 2015 cuando veamos los primeros juegos que la utilicen, tanto en Windows 8 como en Xbox One, y en esta ocasión las promesas hablan de una mejora de rendimiento en torno al 25%. Y a esa cifra teórica podríamos incluso sumar en el caso de Xbox One el supuesto 10% de potencia dedicada a Kinect que a partir de ahora también podría quedar libre y dedicarse a la parte gráfica.
Muchos os preguntaréis ahora vistos todos estos nombres y baile de cifras ¿cómo queda exactamente el panorama? ¿Qué significa esto para los desarrolladores y los jugones? Para los jugadores significa que nuestras máquinas y nuestras consolas (especialmente Xbox One a priori) tendrán un mejor rendimiento en el futuro. ¿Quiere decir esto que veremos juegos más impresionantes gracias a ello? Depende. En palabras de Phil Spencer que ha querido calmar al público más entusiasta con las nueva API: "Ayudará a los desarrolladores en XBOX One. No va a ser un cambio masivo pero desbloqueará más capacidades para los desarrolladores".
Estas palabras se vieron reflejadas en la demostración de la pasada Games Developer Conference con las pruebas ejecutadas en Forza Motorsport 5, un título que ya funciona perfectamente a 1080p y 60 frames por segundo, para el que se afirmaba que gracias a DirectX 12 la GPU sería capaz de trabajar mejor la información, dejando al procesador más libertad para otras tareas. Aunque Phil Spencer haya querido rebajar las expectativas, esta mejora de procesado puede suponer una mayor potencia gráfica en los juegos, aunque la diferencia no suponga un salto exponencial. En PC, con una evolución más constante del hardware, veremos un salto aún más grande. Así lo afirma la desarrolladora Freaky Creations: "[DirectX 12] potenciará gráficamente los juegos en Xbox One, lo cual hará que Sony como competencia también potencie su PS4", mientras que "en el lado del PC, empezaremos a ver verdaderas locuras".
“DirectX 12 potenciará gráficamente los juegos”
Para DirectX 12 todavía habrá que esperar al año que viene, pero Mantle ya ha demostrado sus capacidades con algunos de los juegos actuales. El más icónico, Battlefield 4, que en las pruebas comparativas con DirectX 11 ha logrado una subida de entre 8 hasta 21 frames por segundo según el procesador y la gráfica de la que dispongamos. De hecho si os animáis vosotros mismos podéis poner a prueba Mantle con vuestros ordenadores gracias al test sintético que AMD ha puesto a disposición gratuita de cualquier usuario. El test se llama 'Star Swarm' y se puede descargar desde Steam.
Por tanto, las nuevas librerías pueden cumplir dos objetivos: o bien sacar el máximo partido gráfico a un videojuego, o dedicar ese esfuerzo en conseguir esa suavidad extra que proporcionan los 60 frames por segundo.
En cambio para los desarrolladores, todo esto es un arma de doble filo. Claro que tener a disposición mejores APIs es una gran noticia, y seguramente cualquier desarrollador estaría encantado con la situación, pero por el contrario esto supone fragmentar las herramientas y las versiones. ¿Qué API es mejor y más adecuada? ¿Por qué solución deberían optar?
Nuestra opinión es que tarde o temprano una u otra API se acabará imponiendo y popularizando, y al menos hoy en día parece que DirectX 12 y Microsoft será la gran triunfadora, pero nadie duda de que AMD presionará e incentivará a los desarrolladores a usar su API, dejando a SONY y NVIDIA en una situación en la que tendrán que reaccionar. De hecho, NVIDIA ya lleva trabajando desde hace meses en incluir una serie de funciones y extensiones para mejorar el rendimiento de los juegos que en PC usen OpenGL a través de sus últimos drivers.
En definitiva, el panorama de técnico y gráfico de la nueva generación está más vivo e interesante que nunca.