Los desarrolladores de juegos siempre han pedido un mayor control sobre el hardware de las tarjetas gráficas. Desean un acceso a más bajo nivel que les permita controlar mejor lo que ocurre en los motores gráficos que utilizan, ya sea Unreal Engine, Unity o cualquier otro. La respuesta de AMD y Microsoft son los drivers gráficos Mantle y DirectX 12 respectivamente.

Estos drivers les dará lo que necesitan para, con el mismo hardware, conseguir mayor rendimiento y permitir mejores gráficos y efectos más complejos. Es algo que ya comenté en un artículo sobre Mantle hace unos meses y que desgraciadamente evidencia los problemas de OpenGL. Sobre todo relacionados a que muy pocos juegos están siendo implementados para OpenGL 3, son pocos los SoCs que tienen compatibilidad con esta versión, y menos los que usan una versión "moderna" como OpenGL 4.3 (spoiler: sólo el Tegra K1).

Hoy ha presentado Apple su alternativa a Mantle y DirectX 12. Con el nombre de Metal, les da a los desarrolladores en iOS lo que necesitan: mayor control de lo que ocurre con un menor impacto en la batería de los dispositivos. Es bastante habitual en Apple que busquen hacer mejor las cosas mediante la reducción del consumo del sistema operativo. También es lo que está haciendo Microsoft con Windows Phone, y lo cierto es que en la práctica no es muy necesario 1GB de RAM en sus teléfonos, sólo para jugar a algunos títulos. Sin embargo, los fabricantes de Android han hecho lo contrario: mejorar el rendimiento mejorando el hardware hasta puntos insostenibles.

Las librerías gráficas DirectX 12 llegarán también a Windows Phone 8 el próximo año, por lo que de los sistemas operativos "importantes" sólo quedaría fuera Android de tener unos drivers modernos. Esto puede provocar que la distancia de calidad de gráficos con respecto a WP e iOS aumente a un nivel que se haga evidente sus carencias. Sólo si Google no nos sorprende con algo similar en Google I/O, su congreso de desarrolladores que tendrá lugar a finales de este mes.

El desarrollo de juegos y aplicaciones bajo Android puede resultar tedioso, y lo digo por experiencia. Apple ha recalcado lo fácil que es desarrollar para iOS en la conferencia de hoy, y razón no le falta. Si unimos Metal a su nuevo lenguaje de programación Swift, las nuevas APIs, SpriteKit y SceneKit, la combinación pone contra las cuerdas el desarrollo de juegos bajo Android.

No creo que esto realmente le termine preocupando al usuario final, pero tenemos el siguiente escenario. La resolución manejada por las GPUs integradas de los SoCs usados en Android suele ser en la actualidad "alta". En los gamas altas, 1920x1080 píxels, y en el G3 de 2560x1440. Esta última, una auténtica brutalidad que no manejan ni los equipos de sobremesa, y Google tiene dos opciones: dejar que los fabricantes de SoCs maten moscas a cañonazos mejorando enormemente sus GPUs y aumentando el consumo, o tomar cartas en el asunto y adoptar unos nuevos drivers gráficos. Una tercera opción podría ser permitir el reescalado de la resolución de los juegos, que sería un buen punto de partida para las pantallas de 5 pulgadas Full HD.

Sea como sea, la situación del desarrollo de juegos en Android no va a ser agradable para su rendimiento. En cuanto se distribuya iOS 8 en septiembre junto a Metal y el nuevo SoC A8 (o como se llame el nuevo chip de Apple a incluir en el iPhone 6), comparar el rendimiento gráfico de un juego en iOS y otro en Android va a ser como comparar peras con manzanas. No van a tener nada que ver e iOS va a salir favorecido en todos los análisis que se hagan.

Se le abre un futuro incierto a OpenGL, que tengo mis sospechas que Apple podría querer llevar Metal a OS X, y seguramente fuera un acierto. Al fin y al cabo la arquitectura es similar y trasladarlos de un sistema operativo a otro no es realmente complicado. Pero sería el último clavo en el ataúd de unas librerías gráficas que no están consiguiendo ponerse a la altura de los tiempos que corren.

Las buenas noticias para Android son que para usar Metal y disfrutar de 10 veces más rendimiento gráfico en iOS 8 se necesita un procesador con arquitectura de 64 bits. Lo que siempre he dicho que es la ventaja de esta arquitectura en un SoC y que debía de haber alguna razón para su presentación el año pasado. Eso lo limita al A7 y los que estén por llegar. Pero al ritmo que se ha vendido el iPhone 5s, ya son varias decenas de millones de dispositivos compatibles (y un motivo más por el que el iPhone 5c es una pésima compra).