微軟為 Chromium 提交的一個補丁能對檢查瀏覽器是否被固定在工作列進行效能最佳化。
根據微軟在補丁中的描述,他們發現 Chrome 會在啟動後的 45s 使用一段程式碼檢測當前正在執行的 chrome.exe 是否已被固定在工作列上。每呼叫一次這段程式碼(chrome!UtilWinImpl::IsPinnedToTaskbar)都會產生較高的 CPU 消耗(~300ms 的 CPU time 以及 1s wall time)。
這個過程主要包括:
上述的過程使用了一個單獨的程序來進行檢查,而且檢查 Shell verbs 會導致 shell 擴充套件被載入,從而執行第三方程式碼,這些都會導致 CPU 使用率升高。
微軟對這個過程進行了最佳化,他們認為無需在快捷方式上列舉 verb,而是使用程式碼庫中的其他固定狀態檢查來代替。於是刪除了列舉 shell verbs 的程式碼,並在瀏覽器程序中執行程式碼,而不是使用單獨的程序,因為已經不再會載入第三方程式碼。
此項變更最後相應地降低了檢查瀏覽器在工作列狀態時的 CPU 使用率。這個消耗可能對大部分配置來說可能並不明顯,不過微軟的 Eric Lawrence 認為,修復小問題最終可以提升瀏覽器的效能。
[admin
]