Examinamos a fondo los benchmarks de Microsoft de Xbox One X
4K nativo, 1080p, 900p y retrocompatibilidad en la nueva consola.
Esperábamos que el E3 fuese el escenario en el que se resolviesen todas las dudas sobre la potencia bruta de Xbox One X, pero en Los Angeles solo se mostraron un puñado de títulos nativos y, por lo tanto, en el público se generó cierto escepticismo alrededor de las promesas de Microsoft sobre las "auténticas 4K". Tras la feria, varios desarrolladores han dado un paso al frente para hablar de impresionantes resultados con el sistema: Monolith ha confirmado 4K nativo en Shadow of War y Respawn Entertainment explicaba que Titanfall 2 se escala de forma dinámica hasta resolución 6K, por ejemplo. Además, el estudio responsable de Ark, Wildcard, comparaba Xbox One X con un PC con una GTX 1070 y 16GB de memoria RAM. Microsoft es optimista con las credenciales 4K de la máquina, con unos primeros benchmarks que pintan una atractiva imagen de las posibilidades del hardware.
Hoy vamos a publicar esas métricas, pero antes deben ser puestas en contexto. Nuestra visita al campus de Microsoft en Redmond a finales de marzo se programó entre dos eventos XFest para desarrolladores, uno celebrado la semana antes en Inglaterra y la otra en Estados Unidos la semana siguiente. David Cook, un ingeniero en el Advanced Technology Group (ATG) de Microsoft presentó un detallado informe sobre la GPU del Scorpio Engine, cubriendo muchos de los detalles que publicamos en nuestro artículo sobre las especificaciones técnicas de Scorpio / Xbox One X pero con informes sobre perfiles de rendimiento. Aunque nosotros hablamos exclusivamente del hardware Microsoft no nos proporcionó estos números, los cuales conseguimos a través de contactos con desarrolladores y fueron verificados antes de su publicación.
Son un vistazo muy interesante a las características de rendimiento del Scorpio Engine. Aparte de los datos, la presentación también desvela cómo cambian los cuellos de botella de la GPU en el paso de Xbox One a Xbox One X, porquie la potencia de computación es un factor que limita en el sistema base, pero en muchos escenarios los cambios en límites de memoria, geometría o pixeles necesitan un cambio de enfoque por parte de los desarrolladores. Con la nueva máquina se vuelve hacia la computación, un área en la que brilla el Scorpio Engine. Microsoft, además, también parece abogar por el paso de filtrado anisotrópico 4x a 8k, algo muy importante de cara a sacar el máximo partido a la presentación Ultra HD.
Se utilizaron capturas de la herramienta de análisis de Microsoft (PIX) para ilustrar los cuellos de botella, con otro set de capturas para mostrar la escalabilidad de la resolución en Xbox One X. Se desvelaron los datos de nueve títulos, una mezcla de títulos que ya han salido o que están en desarrollo. Tenéis la tabla más abajo con toda la información que se proporcionó, la cual generará seguro más de una apuesta sobre cuales son los juegos de los que se hablaba. Estamos bastante seguros de que los títulos B y C son Forza Motorsport 7 y Gears of War 4, mientras que Star Wars Battlefront tiene todos los números de ser el título H. Puestos a especular, apostaríamos a que ReCore es posiblemente el título A y Halo Wars 2 el título G, aunque esto es pura especulación. El tema no es cuáles son los juegos, sino cómo se escalan en el hardware de Xbox One X comparando su rendimiento con el modelo básico.
Para conseguir estas métricas PIX, todos los títulos se portaron de la forma más básica al hardware de desarrollo de Project Scorpio, y esto supone un reto a la hora de conseguir datos representativos de los juegos finales. Para empezar se usa una iteración muy temprana del sistema operativo, y las características específicas del hardware Scorpio no se utilizan para nada. Además, la ESRAM de la Xbox One base se mapea directamente en la GDDR5 de la nueva consola sin ningún tipo de ajuste, lo cual implica que habrá un montón de lecturas y escrituras en áreas de memoria sobrantes y que no tendrían lugar en un juego terminado. La parte buena es que estos benchmarks se basan en su totalidad en la GPU, con lo cual no entran en juego los problemas de contención entre la CPU y la GPU. Esto se aplica tanto al rendimiento de la Xbox One base como de la Xbox One X.
La idea básica con el diseño de Xbox One X era mover juegos nativos 1080p con cuatro veces esa resolución, pero en nuestra visita a Redmond Microsoft amplió ese objetivo diciendo que querían que los motores a 900p y 1080p también funcionasen a 2160p. Los datos con estos nueve títulos demuestran que el objetivo de multiplicar por cuatro la resolución se cumple claramente.
También vale la pena tener en cuenta que estos resultados PIX representan un momento concreto de actividad en la GPU, y la carga en la GPU varía de forma dramática a lo largo del juego. Sin embargo, podemos asumir que Microsoft los ha escogido como representativos de cómo se escalan los juegos en el hardware de Xbox One X respecto a la Xbox One base. Aunque hemos convertido las métricas a frame-rate del frame-time original, para hacer que los datos sean más digeribles pese a incluir también los originales, debemos apuntar que estos datos se basan únicamente en los tiempos de la GPU, y que no representan el límite de frame-rate que el juego final pueda implementar. Por ejemplo, en el título B (casi seguro Forza Motorsport 7) son 13ms en Xbox One y 11ms en Xbox One X. Un frame-time de 11ms se traduciría en 90FPS, pero obviamente el juego estará bloqueado a 60FPS, y sabemos que Turn 10 usará esa potencia sobrante en mejorar los gráficos en la nueva consola.
La presentación afirma que la idea básica del diseño de Xbox One X era mover juegos nativos 1080p con cuatro veces esa resolución, pero en nuestra visita a Redmond Microsoft amplió ese objetivo diciendo que querían que los motores a 900p y 1080p también funcionasen a 2160p. Los datos con estos nueve títulos demuestran que el objetivo de multiplicar por cuatro la resolución se cumple claramente, incluso sin acceder a las nuevas características de la GPU de Xbox One X. Aunque el escalado 900p no muestra la misma mejora, dos de los tres ports que vemos aquí podrían suplir las diferencias con un poco de optimización específica para el hardware.
Género | Objetivo | Motor | API | Estado (Marzo '17) | |
---|---|---|---|---|---|
Título A | Aventura/Mundo abierto | 900p30 | Unity | DX11 | Publicado |
Título B | Deportes/Carreras | 1080p60 | Propio | DX12 | En desarrollo |
Título C | Shooter lineal | 1080p30 | Unreal Engine 4 | DX12 | Publicado |
Título D | Acción/Mundo abierto | 900p30 | Propio | DX11 | En desarrollo |
Título E | Multijugador/Mundo abierto | 900p30 | Unreal Engine 4 | DX12 | En desarrollo |
Título F | Deportes/Carreras | 1080p60 | Propio | DX11 | En desarrollo |
Título G | Estrategia multijugador | 1080p30 | Propio | DX11 | Publicado |
Título H | Shooter en primera persona | 720p60 | Propio | DX12 | Publicado |
Título I | Acción/Mundo abierto | 1080p30 | Propio | DX12 | En desarrollo |
Asumiendo que, en efecto, los títulos B y C sean Forza Motorsport 7 y Gears of War 4 respectivamente, tenemos paralelos realistas entre los datos los ports iniciales y los resultados optimizados vistos en el E3. El motor de Turn 10 es capaz de alcanzar los 60FPS con milisegundos libres de tiempo de renderizado; siendo 11ms tenemos un 65% de carga de la GPU en un título que busca los 60FPS, justamente lo mismo que vimos en la demo ForzaTech con una vieja iteración del motor. Teniendo esto en mente, será curioso ver qué mejoras ha decidido implementar Turn 10 en comparación con la Xbox One base (el filtrado de texturas, por ejemplo, es fantástico en la demo que hemos jugado).
El motor de Turn 10 es capaz de alcanzar 60FPS con un 65% de carga de la GPU. Teniendo esto en mente, será interesante ver qué mejoras ha decidido implementar Turn 10 en comparación con la Xbox One base
Gears of War 4 es aún más interesante. Aquí, según los benchmarks, también hay potencia libre en el salto a las 4K, pero no mucha - al menos en comparación con Forza 7. Sin embargo, The Coalition anunció mejoras para el juego en el E3, incluyendo texturas de mayor resolución, más polígonos en los objetos y personajes, mayores distancias de dibujado y mejoras en las sombras dinámicas y los reflejos. Es difícil imaginar cómo se puede acomodar todo esto en la pequeña mejora de tiempo de renderizado que vemos aquí, lo cual sugiere un trabajo intensivo de optimización para Xbox One X que mejora significativamente estos resultados.
Y si ese es el caso, dos de los tres títulos a 900p probados aquí podrían llegar a 4K; el título A solo tiene una diferencia de 1ms respecto a la Xbox One base, mientras que el título E son 2ms, con los frame-times aumentando entre un cinco y un seis por ciento en ambos casos. Pero, evidentemente, no todos los juegos se escalarán de igual manera. El título D, una aventura en mundo abierto, claramente no conseguirá llegar a las 4K nativas. Curiosamente en el E3 vimos una aventura en mundo abierto, Assassin's Creed Origins, que funcionaba en Xbox One X con una salida 2160p, pero necesitaba aplicar checkerboard y reescalado dinámico para conseguirlo. Los resultados seguían siendo impresionantes en movimiento, en cualquier caso.
También estamos bastante convencidos de que el título H es Star Wars Battlefront, con el motor Frostbite. Está claro que un juego a 720p en la Xbox One base no va a funcionar a 4K nativo en Xbox One X. En este caso las métricas sugieren que lo que originalmente era una experiencia a 60FPS oscilaría alrededor de los 38FPS, algo que no sorprende si tenemos en cuenta que implica multiplicar por nueve la resolución. El equipo encargado del Frostbite podría adaptar la estrategia tomada con PS4 Pro en Xbox One X, y basándonos en nuestras pruebas con el material mostrado de Anthem, con las que llegamos a la conclusión de que apostaron por 2160p con checkerboarding en la nueva consola de Microsoft, este parece ser el camino escogido por DICE.
Con la última versión del XDK, todos los nuevos juegos de Xbox One reciben automáticamente mejoras de rendimiento en Xbox One X, aparentemente incluso si el desarrollador no tiene acceso al devkit de Xbox One X y no busca esas mejoras.
Por lo demás, hay un par de curiosidades en los benchmarks. En concreto, el título I, un juego de acción en mundo abierto que todavía está en desarrollo y que usa un motor propio basado en DX12. Los frame-times en el hardware de la Xbox One base son de 49ms, lo cual sugiere que esta sección del juego se midió con apenas 17FPS. Hay ganancias al funcionar a 4K nativo en Xbox One X, y su rendimiento parece estar limitado por la GPU - si la CPU fuese un problema, el escalado sería mucho más limitado en los resultados retrocompatibles que tenéis más abajo.
En los documentos que hemos visto Microsoft proporciona datos usando la misma resolución en el hardware base y en Xbox One X. Esto puede parecer poco útil más allá de como muestra de la cantidad de potencia libre en la GPU que queda libre para los desarrolladores si usan la misma resolución. Sin embargo, estos datos van ligados con las funciones de retrocompatibilidad que tiene Xbox One X con los actuales juegos de Xbox One.
En la siguiente tabla veréis datos comparativos para juegos de Xbox One, funcionando en el hardware de Xbox One X en dos escenario: compilados con el último entorno de desarrollo XDK o con uno antiguo (básicamente todos los títulos publicados a día de hoy). Los datos nativos de Xbox One X representan títulos compilados con el XDK de julio de 2017 (en desarrollo cuando se hizo esta presentación). Con el último XDK, todos los nuevos juegos de Xbox One automáticamente reciben mejoras de rendimiento en Xbox One X, aparentemente incluso si el desarrollador no tiene acceso al devkit de Xbox One X y no busca esas mejoras. Tal y como desvelan los datos, compilar con el nuevo XDK representa una gran mejora en títulos antiguos. ¿Qué ocurre aquí? ¿Por qué los juegos antiguos compilados con el XDK anterior no igualan los resultados de la nueva iteración?
Parece que la compatibilidad con juegos antiguos no es un paseo por el parque, con lo cual los títulos existentes de Xbox One usan por defecto una configuración diferente. La mitad del hardware de renderizado se desactiva y los shaders de pixeles y vertices se trasladan a la mitad de las cuarenta unidades de computación disponibles. Es una burda generalización, pero podrías decir que los juegos antiguos tienen acceso a 3TF de potencia en comparación con los 1.31TF de la vieja Xbox One, mientras que con el XDK de julio se puede acceder a los 6TF. Tal y como demuestran las mejoras en los tiempos de renderizado, los títulos existentes podrían conseguir suficiente potencia extra para maximizar los títulos con resolución dinámica y mejorar el filtrado anisotrópico. Otras mejoras en la retrocompatibilidad prometidas por Microsoft, como los tiempos de carga, la potencia en la CPU o la cache en RAM dependen de la GPU, con lo cual, según estas métricas, no hay razones para pensar que no puedan cumplirlo.
Hay otras características, como la compresión de color delta de AMD (exclusiva de la API DirectX 12), que ofrece mejoras de entre un siete y un nueve por ciento en el rendimiento de dos de los juegos probados por Microsoft.
En ese sentido, la implementación de Microsoft para la compatibilidad - recortar a la mitad los recursos efectivos de la GPU - también explica el modo boost de PS4 Pro, en el que solo el incremento de la velocidad de reloj parece aportar diferencias en escenarios limitados por la GPU. Quizás se haya usado un enfoque parecido con la GPU, con la diferencia de que, incluso con las mismas limitaciones, Xbox One X tiene la ventaja de poseer más unidades de computación y también una velocidad de reloj mucho más alta.
Tenemos muchas ganas de probar esto. A falta de un parche para Xbox One X, Halo 5 será una prueba fascinante de las funciones de retrocompatibilidad, y como la potencia adicional afecta al escalado dinámico. También realizaremos pruebas con títulos como Project Cars o Just Cause 3. Microsoft sugiere a los desarrolladores que utilicen el último XDK para los parches de sus juegos, incluso si no tienen planes para añadir funciones específicas para Xbox One X, ya que así desbloquearían automáticamente los 6TF de potencia de la GPU.
Hay más cosas en la documentación a la que hemos tenido acceso. La arquitectura básica de la GPU de Xbox One X es la misma que la de la máquina original (igual que en PS4 Pro) con mejoras adicionales. Hay otras características, como la compresión de color delta de AMD, que ofrece mejoras de entre un siete y un nueve por ciento en el rendimiento de dos de los juegos probados por Microsoft. DCC es una característica exclusiva de la API DX12 y, de hecho, DX11 funciona en 'modo mantenimiento' en Xbox One X, lo cual sugiere que Microsoft quiere que los desarrolladores den un paso adelante. Hay beneficios en ambas Xbox One si se hace eso, y también implicaciones para el PC. Nos iría bien a todos un mejor uso de DX12 en PC, la verdad.
¿Cuál es el consejo básico de Microsoft a los desarrolladores? Espera que portar a Xbox One con una mejora básica de cuatro veces la resolución será sencillo, empieza con las opciones de un PC de gama alta, usa bien la memoria y aprovecha todo el frame-time sobrante para introducir efectos adicionales. Vigila cuidadosamente cualquier incremento en las cargas y, por supuesto, considera el uso de técnicas como renderizado checkerboarding o resolución dinámica. Hemos visto ya representaciones de ambas técnicas, pero con la Gamescom y el propio lanzamiento de Xbox One X cada vez más cerca estos benchmarks demuestran ser fascinantes. Será muy interesante ver si el escalado que se muestra aquí se traslada al software final, algo que comprobaremos cuando tengamos la consola y los títulos adecuados para ello.
Traducción por Josep Maria Sempere.