Civilization: Beyond Earth, pruebas de rendimiento
Justamente hoy se lanza el nuevo juego Civilization: Beyond Earth, que como ya os comentamos hace un tiempo se trata de un juego en el que AMD y Firaxis Games han colaborado estrechamente para ofrecer soporte para la API gráfica Mantle de AMD, proporcionando un rendimiento optimizado para gráficas AMD Radeon, y mediante el que nos prometen que incluso una APU de AMD con gráfica integrada podrá tener una experiencia de juego óptima. AMD tuvo a bien concedernos un acceso anticipado al juego, de manera que hoy, en el momento de su lanzamiento, podamos mostraros nuestras pruebas internas de rendimiento del mismo.
Antes de mostraros nuestras pruebas de rendimiento internas, creemos conveniente explicaros algunos factores clave sobre Civilization: Beyond Earth, AMD y Mantle.
Civilization: Beyond Earth y Mantle
Firaxis Games y AMD han tenido una colaboración muy estrecha en el desarrollo de Civilization: Beyond Earth durante varios meses, y como resultado han logrado implementar la API Mantle, que impacta directamente en el rendimiento al reducir el impacto de renderizado en el procesador. Como resultado, los usuarios que cuenten con tarjetas gráficas de gama alta tendrán una experiencia de juego más nítida y suave, mientras que los usuarios limitados por GPUs de baja gama puede que no noten demasiada mejora en lo relativo al rendimiento (si bien han prometido que este título se podrá jugar con las gráficas integradas en las APUs), pero sí en el consumo del sistema (especialmente importante en portátiles y tablets).
Aprovechamiento de los núcleos del procesador
En boca de muchos usuarios está que los juegos actuales no aprovechan todos los núcleos físicos de los procesadores actuales. Mantle ha evolucionado para cumplir los requisitos de paralelización de SFT (Split Frame Rendering), de manera que en este juego en específico maximiza la capacidad de cómputo en paralelo de los procesadores con varios núcleos.
Sin querer entrar en un lenguaje demasiado técnico, en la computación gráfica un «command buffer» es un tipo de búfer de memoria que contiene instrucciones (o comandos) que la GPU ejecutará para llevar a cabo las cargas de trabajo de renderizado. Darle a la GPU un flujo continuo e ininterrumpido de comandos es esencial para mantener a la tarjeta gráfica trabajando, lo que significa que proporcionará una tasa de cuadros por segundo más elevada y/o mejor calidad de imagen, dependiendo claro en el enfoque que le haya dado el desarrollador del juego. Mantle tiene la habilidad de poder repartir estos «command buffers» entre los diferentes núcleos del procesador, de manera que se reparte de mejor manera la carga de trabajo tanto para la CPU como para la GPU.
EQAA en Mantle
El Aliasing (alisado), ese gran problema que hace que veamos las esquinas de los objetos renderizados en 3D y que tanto odiamos los Gamers. Este fenómeno se produce cuando una esquina se renderiza a un monitor sin la suficiente cantidad de píxeles por pulgada como para que se vea con bordes redondeados, o en el caso de líneas, de manera suave.
Hay varios tipos de Anti-Aliasing diseñados para contrarrestar este efecto, y la mayoría de ellos se abarcan en la categoría de «Multisample anti-aliasing» o MSAA. Como su nombre sugiere, MSAA utiliza «muestras» (samples) que la GPU analiza para saber si un píxel en el monitor está o no siendo ocupado por uno o más objetos del mundo del juego que se está renderizando. Si un píxel está cubierto por más de un triángulo, el contenido/coloreado final de dicho píxel será una mezcla de la información de las muestras para producir un borde suavizado.
Tal y como hace el MSAA, la tecnología AMD Enhanced Quality Anti-Aliasing (EQAA) funciona también con muestras (2x, 4x y 8x, igual que MSAA), pero cada modo de EQAA toma exactamente el doble de muestras que MSAA, lo que permite a la GPU el detectar de manera más precisa los objetos dentro de cada píxel, permitiendo potencialmente a EQAA detectar y suavizar cada borde de sierra sin dejarse ninguno por el camino, como ocurre muchas veces con MSAA. EQAA toma exclusivamente muestras de contenido y no de color, lo cual se traduce en un menor impacto en el rendimiento de la GPU a pesar de tomar el doble de muestras.
Por cierto, un dato interesante es que Civilization: Beyond Earth, reconoce automáticamente la tarjeta gráfica utilizada (si es de AMD) y aplica el nivel de EQAA correspondiente, todo de manera autónoma.
Pruebas de rendimiento.
Ahora sí, vamos con nuestras pruebas de rendimiento. Como siempre, las hemos realizado en nuestro banco de pruebas habitual, que ya sabéis que difiere bastante de un entorno de pruebas ideal, pero el rendimiento que nosotros obtenemos es lo más parecido a lo que vosotros obtendríais en vuestras casas. El hardware utilizado consiste en lo siguiente:
- AMD FX-8370E.
- ASRock 990FX Killer.
- 2×4 GB Kingston HyperX 1866 Mhz.
- Noctua NH-D14.
- Kingston HyperX Fury SSD 120 GB.
- WD Black 2 Tb.
- Thermaltake Toughpower Gold 750W.
- Cooler Master Cosmos SE.
En cuanto a las tarjetas gráficas, éstas son las que hemos utilizado en nuestras pruebas:
- Gigabyte GTX 770 OC WindForce 2 Gb.
- PNY GeForce GTX 760 OC Signature Edition.
- AMD Radeon R9 290X.
- AMD Radeon R7 260.
En el caso de las gráficas NVIDIA hemos utilizado los controladores 344.11, y en el caso de las gráficas de AMD, los Catalyst 14.9.2 BETA que nos ha proporcionado la compañía (son unos controladores específicos que estarán disponibles para los usuarios mañana día 24 de Octubre). Lógicamente entre las pruebas de AMD y NVIDIA hemos hecho una limpieza completa de controladores gráficos utilizando DDU).
Antes de comenzar con las pruebas, hemos entrado en el juego y ajustado los ajustes gráficos para poner todo al máximo, desactivar la sincronización vertical (para no limitar los FPS a 60), y por supuesto en resolución Full HD. Podéis verlo en la imagen.
La metodología para nuestras pruebas es muy simple. Aunque escondido, Civilization: Beyond Earth cuenta con un benchmark interno que hay que configurar. Para ello, en las propiedades del juego y en la pestaña general, hay que escribir a mano en las opciones de lanzamiento el comando «-benchmark lategameview».
Después, al ejecutar el juego, se nos da la opción de hacerlo con y sin Mantle. Lógicamente para las GPUs AMD lo hemos hecho con Mantle, y para las NVIDIA con DirectX 11.
El juego entonces se ejecuta y podemos ver el benchmark automáticamente.
Al terminar, el juego se cierra, y nos crea en el directorio raíz del mismo un archivo llamado lategameview, con los tiempos de cuadros. Por si queréis hacer vuestras propias pruebas, este archivo hay que renombrarlo con extensión .csv, cambiar el texto a columnas separadas por comas, y omitiendo el primer resultado que siempre es cero, aplicar la siguiente fórmula:
Media de FPS: 1000 / X, donde X es el tiempo de cada cuadro. El cálculo hay que hacerlo «a mano» en el Excel, pero quedaría de la siguiente manera:
Una vez explicado el proceso, éste ha sido el resultado que hemos obtenido en nuestras pruebas.
Nosotros no disponemos de una gran cantidad de tarjetas gráficas para nuestras pruebas, ni de monitores más allá de la resolución Full HD, pero AMD nos ha proporcionado sus propios resultados de rendimiento a más resoluciones aunque eso sí, con un sistema ideal de pruebas. Estas son las gráficas que nos han proporcionado:
Después de leer nuestro artículo, os invitamos a que nos pongáis en vuestros comentarios el resultado que os ha dado con vuestro sistema, si es que ya tenéis el juego.