EVE Evolved: Más FPS por menos CPU
Capsulistas ávidos de rendimiento:
En un reciente blog de EVE Evolved se habló de cómo Quasar ha permitido realizar grandes mejoras en la forma en que se gestiona la comunicación de red para funciones como el SKINR. En esta última entrega de una serie de blogs de desarrollo que destacan las iniciativas de EVE Evolved, la conversación se centra en el rendimiento del cliente y analiza una mejora del renderizado gráfico cuyo estreno está previsto para marzo.
Trinity
Desde volar en pequeñas y hermosas mazmorras hasta peleas de flotas con miles de jugadores, la cantidad de situaciones en las que los jugadores pueden encontrarse es enorme. Esto genera muchos desafíos técnicos que son exclusivos de EVE Online y que afectan a la sensación y la jugabilidad del juego.
Uno de esos desafíos es «¿Cómo se muestra todo esto en una pantalla?». Para ello, EVE utiliza su propio motor de renderizado, llamado Trinity. Los motores de renderizado son increíblemente complejos, pero para resumir y simplificar, necesitan realizar una gran cantidad de cálculos complejos lo más rápido posible para que el juego tenga un aspecto bonito y funcione lo más fluido posible.
Trinity tiene que hacer frente a muchas posibles circunstancias diferentes, especialmente en lo que respecta al hardware del ordenador. Algunos juegan a EVE Online en sistemas antiguos, mientras que otros actualizan su sistema casi todos los años con la última tecnología de vanguardia. Esta variedad significa que no existe un hardware «promedio» para jugar a EVE y que la renderización debe garantizarse en todos estos sistemas.
Desde una perspectiva de juego, EVE tiene una gran cantidad de estilos diferentes. Si bien comerciar en una estación es bastante determinista en lo que respecta a la renderización, volar en un espacio de seguridad nula y ser atacado por una flota enorme es un poco más complejo. El juego tiene que cargar muchos recursos en la memoria simultáneamente y renderizarlos todos mientras intenta mantener la velocidad de fotogramas lo más alta posible.
Para complicar aún más las cosas, EVE tiene 22 años y se añaden nuevos recursos constantemente. Las funciones gráficas añadidas hace una década habrían estado orientadas a los sistemas informáticos de esa época, pero funcionarán significativamente más rápido en el hardware moderno. Incorporar las últimas funciones de renderizado a EVE y, al mismo tiempo, garantizar que los recursos existentes no se rompen en el proceso puede ser un desafío, dada la cantidad de modelos y texturas únicos en Nuevo Edén.
Por todas estas razones, los cambios en Trinity deben realizarse con cuidado.
Rendimiento
En el Fanfest 2023 se presentó una visión futura de algunos de los cambios planificados. Una de estas características, conocida como flujo de trabajo impulsado por la GPU, es un cambio técnico en la forma en que la CPU y la GPU trabajan juntas. Tradicionalmente, para renderizar una escena, la CPU determina qué enviar a la GPU y, luego, la GPU hace el trabajo. Si bien la presentación vinculada entra en más detalles, un flujo de trabajo de renderizado más moderno permite que la GPU haga más de estos cálculos en general, lo que reduce la sobrecarga de la CPU. Esto es genial por varias razones:
EVE suele estar limitado por la CPU, lo que significa que la CPU es el factor limitante y no la GPU. Liberar la CPU en estas situaciones puede ser muy beneficioso.
Una GPU moderna puede renderizar más fotogramas con este enfoque: es simplemente más rápido debido a los avances que DirectX 12 (Windows) y Metal (macOS) ofrecen con las GPU modernas.
Facilita la incorporación o modificación de funciones en el código base, lo que permite que las mejoras lleguen más rápido a los capsulistas. Además, simplifica los procesos para los artistas que incorporan nuevos recursos al juego.
Las mejoras de rendimiento dependen de la combinación específica de CPU y GPU de cada PC, y los mayores beneficios se producen cuando la CPU no puede proporcionar suficientes datos a la GPU. Esto sucede con bastante frecuencia con EVE, incluso en especificaciones de ordenador bien equilibradas, simplemente debido a la arquitectura del motor y las posibilidades de juego emergentes. Es posible que hayas notado esto en las batallas de flotas, donde la carga de la CPU en el cliente puede ser bastante alta, lo que provoca reducciones de la velocidad de fotogramas incluso cuando la GPU puede manejar más.
En un sistema informático típico con componentes equilibrados, estos cambios dan como resultado mejoras significativas. En casos más raros, en los que se combina una GPU rápida con una CPU más lenta, el aumento del rendimiento puede ser aún más impresionante.
Cuando se realizan cambios en Trinity, se utiliza una herramienta dedicada llamada «EVE Probe». Esta herramienta tiene una sola función: permitir la prueba de los motores de renderizado y audio. Es una aplicación ligera que excluye otros sistemas necesarios para jugar a EVE Online, como la interfaz de usuario, los componentes de red o incluso la entrada del teclado y el ratón. Este enfoque permite realizar pruebas de rendimiento fiables fuera del caótico entorno del servidor en vivo.
Una de nuestras escenas de prueba más populares se llama «Cubo de la muerte», que se ha tratado en blogs de desarrollo anteriores. En resumen, la prueba incluye 1000 naves estacionarias y espaciadas uniformemente. ¡También pueden dispararse entre sí, lo que da como resultado imágenes fascinantes! Se ha demostrado que es eficaz para realizar comparaciones claras de rendimiento antes y después.
Después de ejecutar esta prueba en diferentes sistemas, el rendimiento generalmente aumentó entre un 10 y un 30 % de FPS en DirectX 12. En algunos casos, fue incluso mayor: ¡AMD 6800XT experimentó una mejora masiva de aproximadamente el 52 % a 4k en una prueba!
La situación en macOS es un poco diferente. En 2020, Apple lanzó el SoC «M1», que tiene una CPU y una GPU juntas en el mismo chip. Estos chips tienen una CPU y una GPU que están bien emparejadas y trabajan mucho más estrechamente que en un sistema Windows típico. Además, la mayoría de los usuarios de macOS tienen pantallas de alta resolución que llevan el límite de la GPU aún más lejos. En resoluciones altas (4k y superiores), el rendimiento sigue siendo aproximadamente el mismo, pero en resoluciones más bajas (como 1920 x 1200) este cambio puede aumentar fácilmente la velocidad de fotogramas un 25 %.
A continuación, se muestra una pequeña selección de sistemas de ejemplo y el aumento que tuvieron en las configuraciones más altas en EVE Probe:
CPU y GPU | Resolución | FPS antes | FPS después | % de aumento de FPS |
i7-7700 CPU y GTX 1060 | 1920 x 1080 | 40 | 53 | +32 % |
Ryzen 7 5800X y Radeon RX 6800 XT | 3840 x 2160 | 46 | 70 | +52 % |
i7-11700 y RTX 4070 Ti | 3840 x 2160 | 44 | 61 | +38 % |
Ryzen 7 7800X3D y Radeon RX 7800 XT | 3840 x 2160 | 60 | 68 | +13 % |
Mac M1 Max | 1920 x 1200 | 34 | 43 | +26 % |
La GTX 1060 ya tiene casi nueve años, por lo que pedirle que gestione 1000 naves con la configuración más alta es bastante exigente. Por lo general, estas velocidades de fotogramas se pueden aumentar aún más reduciendo la configuración gráfica, lo que hace que sea bastante fácil alcanzar los 60 FPS en esta tarjeta con solo pequeños ajustes. ¡Es bastante impresionante teniendo en cuenta la edad de la tarjeta y lo que se le pide que renderice!
Esta actualización de mayor rendimiento está prevista para marzo. Solo tienes que asegurarte de que DirectX 12 esté habilitado en el iniciador. Si no tienes DirectX 12, igualmente obtendrás una pequeña mejora con respecto a DirectX 11.
¿Qué sucederá a continuación?
El cambio a un flujo de trabajo impulsado por GPU ha requerido una refactorización significativa de Trinity, pero prepara a EVE para el desarrollo de más funciones, lo que logra un mejor rendimiento y aumenta la fidelidad gráfica en el futuro. Es posible que ya hayas visto algunas de estas mejoras en pruebas masivas el año pasado, como la tecnología de adaptación y las sombras con trazado de rayos. Aunque todavía no está listo para su lanzamiento en Tranquility, estas pruebas validaron el enfoque adoptado. Un enorme agradecimiento a todos los que participaron en las pruebas el año pasado y este fin de semana pasado. ¡Vuestra contribución ha servido de mucho!
Ahora que la GPU se utiliza de forma más eficiente, habrá más situaciones en el cliente que estarán limitadas por la GPU (aunque la velocidad de fotogramas general sea mayor). Las soluciones de tecnología de adaptación permitirán velocidades de fotogramas aún mayores en estos escenarios. En futuros blogs de desarrollo se ofrecerán más detalles al respecto.
Con esto concluye la serie actual de blogs que destacan las iniciativas de EVE Evolved. Esperamos que hayas disfrutado de echar un vistazo al compartimiento del motor. Recuerda, la evolución en Nuevo Edén nunca se detiene: el trabajo continúa, mejorando y avanzando constantemente. Buen vuelo y mantén la curiosidad.
o7