Estoy buscando consejo sobre dónde buscar posibles causas de la siguiente situación:
El uso de CPU de mi juego de navegador JavaScript favorito (https://grepolis.com) es demasiado alto cuando está inactivo. Cuando no se realiza ninguna entrada, literalmente no hay animación visible (solo algunos números cambian cada algunos segundos).
Las herramientas integradas para desarrolladores web (Shift-F5) muestran una secuencia de requestAnimationFrame
y Recalculate Style
, repetida una vez por fotograma (60 fps). Ambas llamadas muestran un uso de CPU de menos de 0,1 ms cada una en la mayoría de los casos. Eso equivale a unos diez milisegundos por segundo, o un 1 % de uso de CPU. No hay actividad en la red durante más de un minuto.
Pero el uso real de la CPU visible en el administrador de tareas o el explorador de procesos es aproximadamente el 75 % de un núcleo de CPU (44 segundos de tiempo adicional de CPU utilizados en un minuto). No hay ningún contenedor de complementos cargado: la actividad se encuentra en el proceso principal de Firefox (sin flash ni ningún otro complemento). Según el explorador de procesos, el hilo activo tiene una dirección de inicio al firefox.exe!GetHandleVerifier
buscar en Google, de la cual no se obtuvo ninguna explicación. Las pilas de llamadas que se muestran en el explorador de procesos para este hilo se ven muy diferentes cada vez, por lo que no reconocí similitudes.
Al cambiar a otra pestaña del navegador y minimizar la ventana de Firefox, el uso de la CPU se reduce al 14 % de un núcleo de CPU (8 s de tiempo de CPU por minuto), por lo que estoy convencido de que el uso de la CPU se debe a los varios megabytes de código JavaScript de ese juego que es demasiado grande para leer.
¿Cómo puedo encontrar la causa raíz del uso de mi CPU, es decir, encontrar el componente responsable del uso de la CPU?
El problema es independiente de la versión del navegador (el mismo comportamiento desde hace años) y empeora con el tiempo de ejecución. Una recarga de página relaja la situación, pero no la resuelve (el uso de la CPU sigue siendo alto a pesar de que la aplicación está inactiva). Hay suficiente memoria disponible y estoy usando la versión de 64 bits, pero no encontré diferencias con la versión de 32 bits. Gana 7 Profesional. No revisé otros sistemas operativos ni navegadores.
Este juego es el único sitio web donde no tengo claro el uso de la CPU: todos los demás sitios web que uso consumen CPU solo cuando están activos.