다음 상황의 가능한 원인을 찾을 수 있는 곳에서 조언을 구하고 있습니다.
내가 가장 좋아하는 JavaScript 브라우저 게임의 CPU 사용량(https://grepolis.com)가 유휴 상태일 때 너무 높습니다. 입력이 없으면 문자 그대로 애니메이션이 표시되지 않습니다(몇 초마다 일부 숫자만 변경됨).
requestAnimationFrame
내장된 웹 개발자 도구(Shift-F5)는 프레임당 한 번씩 반복되는 및 시퀀스를 표시합니다 Recalculate Style
(60fps). 두 호출 모두 대부분의 경우 각각 0.1ms 미만의 CPU 사용량을 보여줍니다. 이는 초당 약 10밀리초 또는 1%의 CPU 사용량을 의미합니다. 1분 이상 네트워크 활동이 없습니다.
그러나 작업 관리자나 프로세스 탐색기에 표시되는 실제 CPU 사용량은 CPU 코어의 약 75%입니다(1분에 44초의 추가 CPU 시간 사용). 로드된 플러그인 컨테이너가 없습니다. 활동은 기본 Firefox 프로세스에 있습니다(플래시나 기타 플러그인 없음). 프로세스 탐색기에 따르면 활성 스레드에는 firefox.exe!GetHandleVerifier
인터넷 검색에서 시작 주소가 있는데 이에 대한 설명은 제공되지 않습니다. 이 스레드에 대한 프로세스 탐색기에 표시되는 호출 스택은 매번 매우 다르게 보이므로 유사점을 인식하지 못했습니다.
다른 브라우저 탭으로 변경하고 Firefox 창을 최소화하면 CPU 사용량이 CPU 코어의 14%(분당 8초 CPU 시간)로 감소하므로 CPU 사용량이 수 메가바이트의 JavaScript 코드에 의해 발생한다고 확신합니다. 읽기에는 너무 큰 게임.
CPU 사용량의 근본 원인, 즉 CPU 사용량을 담당하는 구성 요소를 찾으려면 어떻게 해야 합니까?
이 문제는 브라우저 버전과 무관하며(수년간 동일한 동작) 런타임이 진행됨에 따라 더욱 악화됩니다. 페이지를 다시 로드하면 상황이 완화되지만 해결되지는 않습니다(애플리케이션이 유휴 상태임에도 불구하고 CPU 사용량이 여전히 높음). 사용 가능한 메모리가 충분하고 64비트 버전을 사용하고 있지만 32비트 버전과 차이점을 찾지 못했습니다. 윈7 프로페셔널. 다른 운영체제나 브라우저는 확인하지 않았습니다.
이 게임은 CPU 사용량이 불분명한 유일한 웹사이트입니다. 제가 사용하는 다른 모든 웹사이트는 활성 상태에서만 CPU를 소비합니다.