Rendimiento y estabilidad

El rendimiento y la estabilidad del juego han sido temas candentes para la comunidad en este último tiempo, así que quisimos publicar una actualización que cubra nuestro entendimiento sobre el estado de muchos de los problemas importantes, y que sirva para demostrar que estamos trabajando para resolverlos. Aún no hemos identificado las causas de muchos de los problemas, pero publicaremos más información apenas la tengamos. Nos pareció importante hacer esta publicación antes del fin de semana para que sepan que estamos al tanto de sus preocupaciones.

Rendimiento del servidor de las instancias de los mapas infestados

Cuando nos referimos al rendimiento del servidor de instancias, hablamos del rendimiento del software de los servidores de juego que se ejecuta en una de las máquinas de servidor. Normalmente podemos almacenar docenas de instancias por cada núcleo de CPU, y le toma una fracción de milisegundo a dicho núcleo procesar tus acciones para cada cuadro. Sin embargo, bajo circunstancias de jugabilidad extrema, el servidor de instancias puede bajar su velocidad porque los cálculos le toman más de 33 ms al núcleo completo de la CPU (el tiempo de los cuadros del lado del servidor).

En Blight, hay muchos monstruos y todos tienen mucha vida. Lo que sucede normalmente cuando se ataca a un grupo de monstruos es que los ataques acaban rápidamente con los monstruos débiles y dejan solo algunos objetivos fuertes vivos. En Blight, sin embargo, los débiles duran mucho más vivos. Como sabrán, Path of Exile tiene un complicado sistema de estadísticas que posee decenas de miles de valores diferentes que pueden ser parte de un personaje. Muchos de estos valores se usan en cálculos de combate y docenas de bonificaciones, penalidades y achaques pequeños que se aplican a los monstruos cuando un personaje los ataca. Cuanto mayor es la cantidad de monstruos, y cuanto más tiempo sobreviven a los ataques, más demoran los cálculos. El combate de Blight exige más a nuestros servidores que el contenido de mapa regular.

Una vez que llegamos a la conclusión de que teníamos problemas de rendimiento en nuestro lado del servidor con los mapas infestados, quisimos intentar mejorarlos agregando más servidores. Observamos que en los servidores físicos de juego con diferente cantidad de instancias de juego, la cantidad de cuadros perdidos por instancia no era mayor en los servidores más cargados. Esto demostraba que el problema estaba relacionado con que algunas instancias estaban usando un núcleo de CPU entero por más de 33 ms, y no que el servidor en sí tenía demasiadas instancias. Arrojar más dinero o servidores al problema no lo solucionará.

Estamos trabajando en este problema y tratando de encontrar una solución que reducirá la complejidad de los cálculos sin afectar la jugabilidad.

Rendimiento de los esbirros

Creemos que la popularidad de las builds de esbirros en la 3.8.0 han causado muchos de los problemas de rendimiento que están encontrando los jugadores.

Los esbirros son monstruos, así que todos los problemas antes mencionados se aplican a ellos. Tienden a durar mucho tiempo y hay muchos de ellos en pantalla, y todos reciben la variedad completa de bonificaciones y efectos gráficos que normalmente se aplican a los jugadores.

Junto a la salida de Legion, hicimos muchos cambios al funcionamiento del combate cuerpo a cuerpo de Path of Exile. Nuestros cambios apuntaron a estrechar las distancias de los ataques y a que todo se sienta bien, pero tuvieron el efecto secundario de ralentizar la selección de rutas y causar otras regresiones pequeñas de rendimiento. En ese momento no nos dimos cuenta del costo extra que esto agregaba a los esbirros.

Como el lanzamiento de la 3.8.0 volvió muy populares a las builds de esbirros, todos estos problemas de rendimiento se han vuelto un gran problema para cualquiera que juegue esbirros o esté en un grupo con esbirros.

Estos problemas tienen una prioridad alta para nosotros.

Fallos de drivers de gráficos (crashes)

Mientras juegan cierto contenido, (por ejemplo las misiones de Betrayal) algunos usuarios experimentan un fallo en sus drivers de gráficos que causa que la pantalla quede negra por un tiempo, y regrese a la normalidad mostrando un error de “mapa” de Path of Exile. Las versiones más nuevas del driver de Nvidia, incluyendo la más reciente 436.30, tienen este problema. No podemos reproducir el error en la versión 419.17 del driver de Nvidia. No sabemos todavía qué es lo que Path of Exile hace para causar este fallo, pero el driver de gráficos nunca debería fallar, independientemente de lo que haga el juego. Nos hemos puesto en contacto con Nvidia para que tomen conocimiento.

(Algunos usuarios de AMD han reportado problemas similares, pero no hemos podido reproducirlos y no parecen ocurrir en la misma escala).

Fallos de instancia

Los fallos de instancia ocurren cuando la instancia se cierra mientras juegas, lo que causa una desconexión que envía al jugador a la pantalla de inicio de sesión. Desde la salida de Blight, hemos implementado muchos hotfixes para corregir varios fallos de instancia, y la cantidad de ellos cae día tras día. Hoy implementamos un nuevo hotfix que resuelve más de la mitad de los fallos de instancia que quedaban. Seguimos trabajando en los que faltan, concentrándonos primero en los más frecuentes.

Utilización de la memoria del cliente

Hemos notado que la utilización de la memoria del cliente es inusualmente alta, probablemente debido a que se cargan muchos recursos del juego. Creemos que esto puede estar causando problemas de rendimiento, y lo estamos investigando.

Rendimiento del motor y de la jugabilidad

En este último tiempo ha habido muchos comentarios de la comunidad que critican al motor de Path of Exile por ser lento o por su falta de optimización. Hemos pasado muchos años mejorando el motor y hemos implementado las actualizaciones apenas estuvieron listas. Actualmente, el motor de Path of Exile es moderno y rápido, y sin embargo, en muchas situaciones, el rendimiento de Path of Exile no es bueno en absoluto.

Casi todos los problemas de rendimiento de Path of Exile se relacionan con los sistemas de jugabilidad y las decisiones que hemos tomados en esas áreas. Debido a todas las razones descritas anteriormente, Blight es una liga con problemas de rendimiento. Intentar una liga de estas características fue una decisión pensada, y es correcto culparnos a nosotros y a esta decisión por los problemas de rendimiento que se puedan encontrar al jugar el contenido. No esperábamos que fuera así de malo, y estamos trabajando para corregirlo.

Sin importar qué motor usemos, Path of Exile sería lento en su estado actual debido a las decisiones de jugabilidad que hemos tomado: que se calculen demasiadas cosas en el servidor y se rendericen demasiadas cosas en el cliente.

Puede parecer arbitrario y defensivo de nuestra parte puntualizar las diferencias entre el motor y los sistemas de jugabilidad, pero la razón es que el motor será parte de Path of Exile para siempre y el código de jugabilidad va y viene a medida que agregamos o quitamos cosas. No queremos que las ligas tengan problemas de rendimiento, y esto afecta las decisiones que tomamos a la hora de desarrollar contenido futuro.

El rendimiento en las consolas

Muchos de los problemas nombrados anteriormente son mucho peores en las consolas debido a sus limitaciones de hardware. Por ejemplo, en situaciones donde el servidor de instancias de juego se vería sobrecargado por un mapa infestado, la CPU de la consola (que es comparativamente más lenta) también se ve sobrecargada al realizar los cálculos de la versión del cliente. Publicaremos actualizaciones a medida que hayamos progresado en este aspecto.

Lamentamos que esta publicación no contenga más pasos definitivos sobre cómo y cuándo resolveremos estos problemas, pero quisimos comunicar el estado de estos temas antes del fin de semana. Para nosotros son de alta prioridad y esperamos poder solucionar muchos de ellos durante la semana que viene.
Publicado por 
en
Grinding Gear Games

Reportar publicación del foro

Reportar cuenta:

Tipo de reporte

Información adicional