Probamos Ashes of the Singularity, el primer benchmark de DirectX 12
Un 75% más rápido que DirectX 11... pero con matices.
La espera ha sido larga, pero por fin hemos podido probar el primer benchmark DirectX 12, una colección de secuencias extraídas del futuro Ashes of the Singularity del estudio Oxide. Los resultados, sin embargo, son algo peculiares: por un lado observamos grandes ganancias con hardware AMD, mientras que por el otro el rendimiento con hardware Nvidia resulta extraño e incluso decepcionante.
Nuestra metodología de pruebas es bastante simple. Una de las ventajas clave de DX12 que podremos ver en la primera oleada de juegos está en la parte de la CPU, así que quisimos hacer las pruebas con tarjetas gráficas equivalentes de AMD y Nvidia en dos CPUs de consumo diferentes. Como hardware gráfico escogimos la Radeon R9 390 y la GTX 970, junto con un Core i7 4790K (el cual funciona hasta 4.4GHz con cuatro núcleos y ocho hilos) y un sencillito Core i3 4130 (un procesador de dos núcleos y cuatro hilos funcionando a 3.4GHz). Ejecutamos el juego con el detalle medio y sin MSAA, una configuración que permitiría destacar el uso de CPU dando a DX12 la oportunidad de brillar.
Curiosamente el benchmark de Ashes of the Singularity tiene también una prueba solo para la CPU, un frame-rate medio que elimina completamente la GPU de la ecuación, dándonos una idea del teórico rendimiento. En el i7 esa medida es de 78.5FPS y en el i3 cae hasta 41.5FPS. Viendo las medias en la tabla superior puedes deducir que el i7 se ve bastante atado por la GPU.
Una cosa que queda clara mientras estudiábamos las capturas de vídeo de nuestras pruebas es que la tarjeta AMD solo funcionaba en DX12 con el v-sync activado (la práctica estándar para hacer benchmark es tenerlo desactivado). Esto limita el rendimiento de la R9 390 a 60FPS, aunque en la práctica rara vez llega a esta cifra. Los resultados también sufren una pequeña penalización en puntos en los que la GPU está esperando el siguiente refresco antes de dibujar el siguiente frame. Hemos contactado con Oxide, pero mientras, para hacer que la comparativa tenga sentido, hemos repetido todas las pruebas con AMD con v-sync activado para igualar la presentación obtenida con DX12.
1080p/Medium (Low/Avg FPS) | R9 390 DirectX 11 | R9 390 DirectX 12 |
---|---|---|
Core i7 4790K (4.4GHz, cuatro núcleos, ocho hilos) | 15.4/28.4 | 32.1/48.8 |
Core i3 4130 (3.4GHz, dos núcleos, cuatro hilos) | 12.0/24.1 | 29.2/39.9 |
Sin embargo, incluso con la limitación de v-sync, los resultados son reveladores con la R9 390. El frame-rate medio con el procesador Core i3 sube de 24FPS a 40FPS, una mejora del 67% en el rendimiento. Con el Core i7 la mejora es aún mayor, subiendo de 28FPS a 49FPS, un 75%. En ambos casos se dobla el frame-rate más bajo registrado, de 12FPS a 29FPS con el i3 y de 15FPS a 32FPS con el i7. Pero quizás lo más destacable de la gráfica es que el i3 con DX12 supera de forma significativa al i7 con DX11 funcionando con la misma GPU y moviendo el mismo juego con la misma configuración gráfica.
Es una prueba muy dependiente de la CPU, pero demuestra que DX12 será importante. Hay que tener en cuenta que el rendimiento con DX11 de AMD es actualmente un problema, y eso contribuye a las diferencias que aquí vemos. Para ilustrarlo, en este mismo benchmark el rendimiento DX11 de Nvidia con una GTX 970 es un 28% más rápido en el i3 y un 45% más rápido en el i7. Considerando que por lo general la GTX 970 es una tarjeta un poco más lenta que la R9 390 esto es bastante destacable, y seguramente se deba al overhead de la API.
La pregunta es, entonces, ¿dónde queda el rendimiento de Nvidia en DX12? Ahora mismo el tema es un poco controvertido. Aunque se observan algunas mejoras con el procesador i3 y la GTX 970, en el caso del i7 hay una caída general de rendimiento - DX12 funciona más o menos un 14% más lento en este caso. Huelga decir que la R9 390 es significativamente más rápida en DX12 (un 13% con el i7, un 4% con el i3) que la tarjeta de Nvidia funcionando en modo DX12. Las pruebas internas del equipo técnico de la compañía americana (incluidas en su reviewer's guide y realizadas con un Core i7 5930K de seis núcleos a 3.5GHz) también muestran una caída significativa, aunque curiosamente los resultados frente a DX11 mejoran cuando la velocidad de reloj se baja a 2.0GHz. Podéis ver sus datos aquí y aquí.
En un comunicado enviado a la prensa por Nvidia se afirma que "el benchmark alpha ejecuta una serie de escenas preseleccionadas y te da una puntuación al final que muestra lo bien que tu sistema ha ejecutado esas escenas. El juego luce interesante, pero esta benchmark alpha es útil solo para entender cómo funciona una serie de escenas en tu sistema con una versión alpha de Ashes of the Singularity".
"Creemos que habrá mejores ejemplos de auténtico rendimiento DirectX 12 y seguimos trabajando con Microsoft en su API DX12, juegos y benchmarks. La arquitectura GeForce y sus drivers para obtener el máximo rendimiento con DX12 no tienen rival, y cuando lleguen métricas DX12 precisas se verá lo mismo que ocurrió con DX11."
Por su parte, Oxide ha publicado un extenso post en su blog explicando su postura y negando la explicación de Nvidia de que la actual build de Ashes of the Singularity es código alpha que probablemente recibirá significativas optimizaciones antes del lanzamiento.
"No debe considerarse que porque el juego no sea público todavía no sea una prueba legítima", explicaba Dan Baker, de Oxide. "Aunque todavía hay cosas que optimizar, Ashes of the Singularity en su estado pre-beta está tan o más optimizado que la mayoría de juegos en su lanzamiento. ¿Qué sentido tiene optimizar el código seis meses después de que se publique el juego? Desde luego, las cosas cambiarán un poco de cara al lanzamiento. Aunque los videojuegos de PC con actualizaciones digitales están cambiando siempre, tened por seguro que no nos guardaremos la oportunidad de hacer grandes cambios después del lanzamiento si eso hace mejor el juego.
¿Nuestra opinión? Durante mucho tiempo hemos insistido en la necesidad de que AMD mejorase la eficiencia de sus drivers, visto que en ocasiones limitaban el rendimiento de su hardware en los procesadores menos potentes. Lo más positivo en todo este asunto es ver que con DX12 la compañía por fin se ha puesto las pilas, porque el rendimiento siempre ha sido lo más importante y este es un crucial paso adelante. Respecto al intrigante rendimiento de Nvidia, esperamos que ver el rendimiento en contexto con nuestras herramientas sea de ayuda, pero los resultados desafían nuestros intentos de análisis. Sinceramente, la idea de que DX12 funcione más lento que DX11 en algunos escenarios es algo que no esperábamos ver. Sea un problema específico del juego o de los drivers, podéis estar seguros de que ahora mismo el equipo de ingenieros de Nvidia está estudiando a fondo este benchmark para ver qué está ocurriendo. Os tendremos informados si hay novedades al respecto.
Traducción por Josep Maria Sempere.