Digital Foundry: ¿eliminar Kinect permitirá aumentar la potencia de Xbox One?
Sí, pero no lo suficiente.
Incluir Kinect de serie con Xbox One tenía un precio, y no únicamente a nivel económico. De forma parecida a PlayStation 4, dos de los ocho núcleos de la CPU de Xbox One se reservan para la funcionalidad de sistema, pero en la consola de Microsoft además se impone una restricción del 10% de su potencia gráfica para gestionar las entradas de Kinect. Tras el anuncio de un SKU sin la cámara, ¿pueden entregarse estos recursos a los desarrolladores? ¿Cómo mejoraría esto los juegos?
En una entrevista con Polygon Yusuf Mehdi, de Microsoft, sugiere que efectivamente se entregarán estos recursos, pero de forma previsible es vago a la hora de dar datos específicos. "Estamos hablando con los editores de juegos para ver qué podemos hacer en este aspecto y tendremos más charlas pronto", explicó, pero sus trabajadores en la división de ingeniería de Xbox ya están trabajando en esos detalles específicos.
Los lectores de Digital Foundry recordarán que Microsoft ya se comprometió a reducir el impacto de la sustancial reserva de GPU. "Xbox One reserva un conservador 10% de GPU para procesos del sistema", nos explicó el ingeniero de Xbox Andrew Goosen poco antes del lanzamiento de la consola. "Esto se usa para el procesamiento GPGPU de Kinect y para renderizar el contenido concurrente del sistema, como el modo Snap", añadió.
"La actual reserva proporciona un fuerte aislamiento entre el juego y el sistema y simplifica el desarrollo. Un fuerte aislamiento implica que las cargas del sistema, que son variables, no perturbarán el rendimiento del renderizado del juego. En el futuro planeamos dar más opciones a los desarrolladores para acceder a esta reserva de la GPU al tiempo que se mantiene la funcionalidad completa del sistema".
Goosen describió también cómo la configuración del hardware de la GPU Radeon permite a los ingenieros priorizar diferentes cargas. En la práctica las de Kinect se tratan más como cargas de fondo, mientras las del código del juego toman la delantera.
"Además de colas asíncronas de computación, el hardware de Xbox One también soporta dos pipes concurrentes de renderizado. Esto permite al hardware renderizar el contenido del juego con alta prioridad mientras concurrentemente renderiza el contenido del sistema con baja prioridad. El organizador por hardware de la GPU está diseñado para maximizar el resultado y rellena automáticamente los 'agujeros', mientras el juego hace al mismo tiempo operaciones sincronizadas de computación en las unidades correspondientes".
"Devolver los recursos de Kinect a los desarrolladores ayudará, pero otros factores serán más importantes a la hora de tener un impacto en la calidad de los juegos."
Estos comentarios formaban parte de una larga entrevista con los arquitectos de Xbox One, pero sigue sin estar claro si el plan descrito llegó a hacerse efectivo. Desde luego, la idea de liberar recursos sin que afecte a la funcionalidad parecía optimista en su momento, y el actual estado de la reserva de GPU de Kinect sigue siendo desconocido.
Lo que sí sabemos es que en marzo la situación no había cambiado con respecto a los casi seis meses que habían pasado desde que hablamos con la gente de Microsoft. Richard Baker, el principal ingeniero de Respawn, nos explicó que era posible mejorar a nivel técnico la versión para Xbox One de Titanfall y mencionó la reserva de GPU de Kinect, pero añadía que esto todavía estaba siendo estudiado por los ingenieros de Microsoft.
"Decían que estaría disponible para el lanzamiento pero creo que hubo algunos problemas acerca de cómo iba a funcionar", decía Baker. "No está disponible para el lanzamiento pero definitivamente lo aprovecharemos ni nos lo dan como una opción. Y el plan es que será una opción, así que cuando esté disponible lo añadiremos a nuestro juego y deberíamos poder aumentar la resolución de forma proporcional".
Ayer, otra fuente que solicitó permanecer en el anonimato indicó que la reserva de Kinect estará disponible para los desarrolladores en la actualización de mayo/junio del XDK de Xbox One. De ser cierto, es ayudará con uno de los problemas más importantes que ha tenido Xbox One en los juegos más ambiciosos: la resolución y la falta de juegos a 1080p en una época en la que las casi todas las pantallas son Full HD. Existe una falta de potencia de la GPU en comparación no sólo con PS4, sino cada vez de forma más acentuada con la tecnología gráfica barata de PC. Estamos en un punto en el que una tarjeta de 120€ como la R7 260X puede igualar e incluso superar por un poquito los resultados de PS4 con muchos juegos, con lo cual ya no digamos a Xbox One.
Es también algo irónico: la 260X es prácticamente igual que el hardware gráfico de la consola de Microsoft, el núcleo de la GPU Bonaire de AMD. Hay diferencias, claro - la R7 260X usa las 14 unidades de computación de la arquitectura mientras que Microsoft desactiva dos, y la R7 260X funciona a una velocidad de reloj mayor - pero la diferencia de rendimiento sigue siendo grande y, en general, debemos concluir diciendo que un 10% de tiempo de GPU no eliminará la separación entre ambas. Los desarrolladores se enfrentan a un diseño de hardware tipo PC que es menos PC que el de PS4, junto con un driver DirectX que dista mucho de ser estelar - algo que ha demostrado ser un problema para la primera generación de juegos, desarrollados con un ordenador de gama media como objetivo a nivel de especificaciones.
"La actual potencia gráfica de Xbox One sufre en comparación con PS4 y las tarjetas gráficas para PC como la Radeon R7 260X."
El software de Xbox One será mejor desde un punto de vista tecnológico, pero todo dependerá de varios factores, siendo Kinect uno de los menos importantes. Diversas fuentes apuntan a que el driver DirectX está mejorando rápidamente, pero la cada vez mayor familiaridad de los desarrolladores con el hardware también está generando dividendos - algo que se demuestra con el nuevo Call of Duty: Advanced Warfare, que ya en pre-producción ofrece una mejora de resolución del 50% respecto a su predecesor a 720p, incluso cuando incorpora una serie de nuevas tecnologías de renderizado.
Hablando con Digital Foundry, el programador gráfico principal de Trials Fusion, Sebastian Aaltonen, también advirtió acerca de los juicios a las nuevas consolas basados en software de primera generación, sugiriendo que lo mejor está por llegar:
"Los juegos de lanzamiento nunca muestran el potencial a largo plazo de las consolas. 60FPS estables es un objetivo muy difícil para un juego de lanzamiento. Los desarrolladores deben empezar a programar sus motores de nueva generación antes de tener acceso a la versión final del hardware. Deben hacerse muchas apuestas, y acertar con todas no es fácil", reconoce.
"En nuestro caso empezamos a 720p en ambas consolas de nueva generación, porque queríamos estar seguros de que nuestros programadores de gameplay podían pulir las mecánicas y físicas con un motor que ya funcionaba suave. Alcanzar nuestro objetivo de frame-rate (60FPS) era más importante para nosotros que alcanzar una determinada resolución al principio del proyecto".
"Al final nos quedamos muy cerca de la paridad entre ambas consolas de nueva generación. Ambas funcionan a 60FPS, con shaders idénticos y el mismo contenido (texturas, modelos y niveles). La resolución de renderizado es la única diferencia: PS4 renderiza a una un poco mayor, 1080p, mientras que Xbox One lo hace a 900p".
También será significativo el lanzamiento de DirectX 12, el cual tiene el objetivo de proporcionar acceso de bajo nivel al hardware gráfico, tanto en PC como en Xbox One. Sin embargo, al menos a corto plazo, el impacto de DX12 en el desarrollo de juegos no mejorará significativamente la calidad de los juegos - la presentación de Microsoft en la GDC dejó claro que la principal mejora llegará con la reducción del overhead de la CPU. Frame-rates más suaves son otra posibilidad, pero una mejora de la resolución parece poco probable.
Los desarrolladores con los que hemos hablados parecen mucho más impresionados con la calidad de la documentación de la GPU que tienen en sus manos. La importancia de una nueva API es menos significativa cuando tienes un conocimiento profundo de la configuración tecnológica del propio hardware. El nivel de detalle de los documentos de la GPU de Sony en particular es inmenso, y los puntos en común a nivel de arquitectura de GPU entre PS4 y Xbox One beneficia a ambas consolas. A largo plazo, sin embargo, el acceso a bajo nivel a la GPU aportará beneficios, como explica Aaltonen.
"La paridad de características con un déficit de resolución parece el mejor escenario posible para los títulos multiplataforma más ambiciosos."
"Microsoft ha anunciado que DirectX 12 tiene bastantes mejoras a nivel de eficiencia respecto a DirectX 11. Parece una API muy bien diseñada. Como desarrollador de consolas me gusta trastear con los recursos a bajo nivel y también sincronizar los datos en PC. Esto permitirá a los desarrolladores crear juegos en los que no haya caídas de frames. En las APIs de PC de alto nivel hay caídas inesperadas, porque el driver de la GPU escoge redistribuir la memoria o transferir datos de forma inesperada haciendo que el bus PCI Express sea más lento", decía al tiempo que apuntaba a que los juegos de Xbox 360 también mejoraron mucho con el paso del tiempo, a medida que Microsoft abría el hardware gráficos a desarrolladores más aventureros.
"Xbox 360 tuvo un gran empujón con la API gráfica de bajo nivel. Conseguir hacer 10.000 llamadas de dibujado (a 60FPS) en Trials Evolution usando la API de bajo nivel de Xbox 360. Tenemos muchas ganas de poder trabajar con DirectX 12 Es definitivamente posible que Xbox One tenga un empujón de rendimiento con una nueva API de bajo nivel".
Ha sido un lanzamiento movido para Xbox One, y es fácil culpar a Kinect de muchos de los problemas más profundos: la cámara elevó el precio del hardware pero limitó las capacidades técnicas de la consola, y al mismo tiempo los creadores de juegos - incluyendo a la propia Microsoft - ignoraron las funciones de la cámara en muchos de sus juegos. La estrategia del "Input One", tan ligada a la integración con Kinect, tampoco atrajo demasiado interés, probablemente porque muchas de sus características clave no funcionan fuera de Estados Unidos, pero quizás también por falta de interés del público hardcore que define el éxito del lanzamiento de una consola.
La buena noticia es que los juegos mejorarán, pero la entrega de la reserva GPU de Kinect - aunque es bienvenida - probablemente es sólo un elementos más en cualquier cambio a nivel de calidad técnica. La familiaridad con el diseño de las consolas traerá mejoras más importantes, algo también aplicable a PS4. Además, mientras Microsoft desarrolla DirectX 12, Sony ya ha implementado su propia API de bajo nivel - llamada GNM - como añadido a la de alto nivel tipo DX, GNMX.
Eliminar a Kinect de la ecuación puede ayudar a Microsoft a intentar igualar las condiciones a nivel de mercado, pero al final la diferencia de rendimiento seguirá estando ahí. Los cimientos técnicos están mejorando, pero al final todo se sigue reduciendo a la calidad de los juegos, y en ese aspecto ahora mismo Microsoft necesita un E3 fenomenal como agua de mayo.
Traducción por Josep Maria Sempere.