Optimización de rendimiento del cliente
Reescribimos cómo el cliente maneja la memoria de las ventanas de interfaz. Hasta ahora, cada ventana que abrías quedaba cargada para siempre aunque la cerraras, y el motor gráfico la seguía procesando en cada frame. El resultado era que los FPS bajaban a medida que jugabas y no volvían a subir hasta que cambiabas de mapa.
El problema no era una ventana puntual sino el criterio general: había una lista de las pocas que sí se liberaban, y cualquier otra que abrieras se acumulaba. Dimos vuelta la regla — ahora se libera todo salvo el HUD que necesita quedarse en pantalla, así que ya no importa cuántas ventanas abras.
- Auditamos las 253 ventanas del cliente una por una para determinar cuáles pueden liberarse sin romper nada. Solo quedan cargadas 25: barra de acciones, minimapa, chat, party y las demás piezas del HUD que están siempre visibles.
- Medido en un mismo personaje abriendo y cerrando ventanas: antes los objetos de interfaz cargados pasaban de 8.600 a más de 16.000 y se quedaban ahí; ahora vuelven al valor de arranque al cerrar.
- La barra de acciones tenía un problema aparte: los íconos de buffs y cooldowns que dejaban de usarse se quedaban en pantalla ocultos en vez de retirarse, y el motor los seguía dibujando. Corregido en los tres casos.
Este cambio estará disponible en el próximo changelog-update