Actualización 1.0: Optimización y configuración de gráficos
¡Comandantes!
El traslado a un nuevo motor fue un asunto largo y complicado, ya que teníamos dos objetivos clave: asegurarnos de que se mejoraban y se optimizaban los gráficos. Con la 1.0, notaréis inmediatamente las mejoras gráficas y os preguntaréis cuánto exigen de vuestro equipo. Bueno, gracias al trabajo duro y al empeño, hemos conseguido que los requisitos mínimos y recomendados permanezcan inalterados.
¿Qué significa esto? Si jugáis en un ordenador antiguo (el juego se ha jugado en ordenadores con una década de antigüedad), no os preocupéis, podréis seguir disfrutando de los gráficos mejorados. Para sacar el máximo partido de vuestro equipo, aseguraos de ejecutar la característica de detección automática al comenzar el juego, os hablaremos sobre ello más adelante....
¿Cómo conseguisteis mantener los mismos requisitos del sistema?
Textura virtual: ahora podemos calcular por adelantado toda esta mezcla pesada, guardarla como textura virtual, cargarla con antelación y mostrarla únicamente cuando sea necesario. Aparte, ya no necesitamos hacer el mezclado de materiales en la fase de teselado. Así que usamos teselado (la ordenación de formas en orden cerrado) sin una caída significativa del rendimiento.
¿CÓMO FUNCIONA?
El terreno en sí mismo es una sustancia muy compleja formada por numerosos materiales: hierba, arena, piedra... de todo. En la mayoría de los casos complicados, mezclamos ocho materiales en cada pixel por cada fotograma, lo que tiene un coste alto para vuestra tarjeta gráfica. Antes el terreno se renderizaba por cada fotograma.
Anteriormente empleábamos una técnica de «fuerza bruta» para crear reflejos en el agua, duplicando el renderizado de escena desde la dirección del reflejo. ¿Es la forma más eficaz hoy en día? No realmente. El nuevo motor gráfico nos permite mejorarlo con los reflejos de espacio de pantalla.
¿CÓMO FUNCIONA?
Combinamos los reflejos de espacio de pantalla con sondas de reflejos de paralaje corregidos que almacenan datos de reflejos calculados con anterioridad. Una ventaja adicional es que la nueva aproximación añade fidelidad al agua ahora que refleja exactamente lo que vemos en lugar de los reflejos simplificados de antes.
Las sombras son conocidas por ser la opción gráfica más exigente en términos de recursos. ¡Pero no en nuestro caso! Usamos una técnica similar a la textura virtual para evitar una carga extra en el rendimiento.
¿CÓMO FUNCIONA?
La mayoría de las sombras se calculan al cargar el mapa por primera vez y solo se recalculan cuando cambia el nivel. Esto da un gran impulso en el rendimiento y permite objetos correctamente iluminados incluso en sistemas de bajo rango.
La interfaz también se ha optimizado de forma considerable para reducir la carga en el rendimiento y el consumo de memoria.
¿CÓMO FUNCIONA?
Ya no se renderiza el escenario 3D cubierto por elementos opacos de la IU (el minimapa y el panel de daño), lo que ahorra en rendimiento de la tarjeta gráfica.
Aquí tenemos algunos trucos sencillos:
Aumentad el minimapa y hacedlo opaco para incrementar vuestros FPS.
Intentad incrementar el tamaño de las zonas de juego bajo la interfaz opaca. En algunos casos, dependiendo de la configuración de vuestro PC, esto puede proporcionaros una mejor tasa de fotogramas.
Las físicas de cadenas realizadas por el cliente solían calcularse por cada vértice del triángulo de la cadena. En números: el número total de cálculos ascendía a más de 10 000. Y esto era solo para una cadena del blindado. Obviamente era cualquier cosa menos eficiente.
¿QUÉ HA CAMBIADO?
Ahora el movimiento de cadenas se calcula por segmento de la cadena (alrededor de 100 cálculos por eslabón medio de cadena). Al mismo tiempo que incrementa el rendimiento, esta optimización no afecta a la calidad visual. Reduce la carga en la gráfica, mientras que las cadenas muestran un movimiento realista y natural.
La actualización 1.0 introduce un sistema avanzado de paneles para los árboles.
¿CÓMO FUNCIONA?
Los árboles son agrupados en paneles (rectángulos planos con texturas) con toda la información incluyendo datos sobre profundidad e iluminación. Gracias a ello, podemos alternar de árboles a paneles más cerca del observador (¡y no notaréis la más mínima diferencia!).
El nivel de detalle se ajusta dependiendo de la distancia de vuestra cámara a un objeto y vuestros ajustes. Cuanto más cerca estéis de un objeto, más detallado se verá. Cuanto más lejos, sucederá lo contrario. De la misma manera, no es necesario dibujar con detalle cada grieta en un muro si esta no puede ser vista.
¿QUÉ HA CAMBIADO?
Con la transición a un nuevo motor, el ajuste ocurre de manera tan suave como sea posible en un periodo corto de tiempo de manera que no hay transiciones bruscas entre los diferentes niveles de detalle. Y como guinda del pastel, esta transición ininterrumpida no requiere recursos extra.
NOTA: Para hacer todo esto con un renderizado estándar, tuvimos que abandonar el uso del nivel de detalle cero (el mejor nivel). La diferencia en calidad entre esto y es siguiente paso de mejora es prácticamente indistinguible, pero esta decisión nos ha permitido mantener idénticos los requisitos mínimos.
¿Recordáis cómo unas pocas explosiones simultaneas resultaban en una caída de los FPS o incluso algo peor, cuelgues? Nos hemos asegurado de que no vuelva a pasar añadiendo el renderizado multirresolución de partículas.
¿CÓMO FUNCIONA?
Ahora, con unas cuantas explosiones, los efectos de alta resolución se muestran solo en los bordes, y el interior se renderiza en baja resolución. Prácticamente no se nota esta alternancia, pero ahorra muchos recursos en los momentos críticos.
¿Queréis verlo con vuestros propios ojos? Probadlo vosotros mismos con el programa enCore. Con él, podéis probar vuestro sistema para ver el rendimiento de vuestro sistema con la actualización 1.0.