我正在尋求建議,在哪裡尋找以下情況的可能原因:
我最喜歡的 JavaScript 瀏覽器遊戲的 CPU 使用率(https://grepolis.com) 空閒時太高。當不進行輸入時,實際上看不到動畫(只有一些數字每隔幾秒鐘改變一次)。
requestAnimationFrame
內建的 Web 開發人員工具 (Shift-F5) 顯示和的序列Recalculate Style
,每幀重複一次 (60 fps)。在大多數情況下,這兩個呼叫顯示的 CPU 使用率均小於 0.1 毫秒。這使得每秒大約 10 毫秒,即 1% 的 CPU 使用率。超過一分鐘沒有網路活動。
但任務管理器或進程資源管理器中可見的實際 CPU 使用率約為 CPU 核心的 75%(一分鐘使用了 44 秒的額外 CPU 時間)。沒有載入插件容器 - 活動位於主 Firefox 進程中(沒有 Flash 或其他插件)。根據進程資源管理器,活動執行緒在firefox.exe!GetHandleVerifier
Google搜尋中具有一個起始位址,但沒有給出任何解釋。該線程的進程資源管理器中顯示的呼叫堆疊每次看起來都非常不同,因此我沒有意識到相似之處。
當切換到另一個瀏覽器標籤並最小化Firefox 視窗時,CPU 使用率減少到CPU 核心的14%(每分鐘8 秒CPU 時間),因此我確信CPU 使用率是由幾兆位元組的JavaScript 程式碼引起的那個遊戲太大了,無法閱讀。
如何找到 CPU 使用率的根本原因,即找到導致 CPU 使用率的元件?
該問題與瀏覽器版本無關(多年來的行為相同),並且隨著運行時間的推移而惡化。頁面重新載入可以緩解這種情況,但並不能解決問題(儘管應用程式處於空閒狀態,CPU 使用率仍然很高)。有足夠的可用內存,我使用的是 64 位元版本,但發現與 32 位元版本沒有區別。贏得 7 專業版。我沒有檢查其他作業系統或瀏覽器。
這個遊戲是我唯一不清楚 CPU 使用情況的網站:我使用的所有其他網站僅在活動時消耗 CPU。