偽裝成 Chrome,Yandex 瀏覽器穩定性大幅提升

開源中國osc 發佈 2024-03-05T06:02:48.956802+00:00

出品|開源中國用戶熟知的 Chrome、Edge、Brave、Vivaldi 和 Opera 都是基於 Chromium 的瀏覽器,在大家的認知中,這些瀏覽器的性能應該都差不太多,各個瀏覽器之間的主要差別可能就是界面和一些功能。只不過從最近的測試來看,情況並非如此。

出品|開源中國

用戶熟知的 Chrome、Edge、Brave、Vivaldi 和 Opera 都是基於 Chromium 的瀏覽器,在大家的認知中,這些瀏覽器的性能應該都差不太多,各個瀏覽器之間的主要差別可能就是界面和一些功能。只不過從最近的測試來看,情況並非如此。

Yandex Browser 是俄羅斯搜索巨頭 Yandex 在 2012 年推出的瀏覽器,同樣基於 Chromium,其特點是內置了卡巴斯基的反病毒技術來保護用戶安全。近日 Yandex 瀏覽器性能團隊的負責人 Maxim Smirnov 在官方博客的一篇名為「命名很重要」的文章中表示,他們僅僅就是將瀏覽器的可執行文件改名為 chrome.exe,就大幅降低了 GPU 進程的崩潰率和內存占用。

事情的起因是 Maxim Smirnov 的團隊發現了一個觸摸板滾動問題,該問題影響了 Yandex 瀏覽器,但在同一台設備上,Chrome 和 Edge 卻沒有受到影響。在技術層面,Yandex 瀏覽器使用的觸摸板事件處理邏輯與 Chrome 這些瀏覽器完全相同,因此他們就想到重命名 Yandex 瀏覽器的可執行文件是否會改善瀏覽器的性能。最後證實,當 Yandex 將其瀏覽器的可執行文件從 browse.exe 重命名為 chrome.exe 時,滾動問題就得到了解決。

結果令我們非常驚訝,對於實驗組中使用 AMD 顯卡的用戶,GPU 進程崩潰的次數減少了 5.5 倍,GPU 進程的內存占用平均減少了 8%,網頁的打開速度和界面響應速度也略有加快。

通過簡單修改可執行文件的名稱就能改進性能和穩定性,也表明 AMD 的驅動程序對某些功能或優化使用了「硬編碼」的進程名稱列表,而 Yandex 的瀏覽器並不在該列表中。

Yandex 目前已經聯繫了 AMD,要求將他們的瀏覽器也加入列表。只不過要想獲得這個優化就必須等待 AMD 推出新版驅動程序,屆時也需要用戶更新驅動程序,為了讓用戶提前用上 「優化」 過的 Yandex,它們決定在 22.9.0 版本率先做出改變,就是把自己 「偽裝」 成 Chrome。

目前 Yandex 使用了 Chromium 的一個內部功能,只有 GPU 進程本身被替換成了 chrome.exe,Yandex 瀏覽器的可執行文件名稱依然保持不變。打開任務管理器的用戶仍然會看到 browser.exe 是 Yandex 進程的名稱。

Yandex 表示這個改進是在採用 AMD 顯卡的設備上發現的,目前還不清楚 NVIDIA 的顯卡是否也受此影響。除了 Yandex 瀏覽器,現在也還不清楚其他基於 Chromium 的瀏覽器是否也受到這個問題的影響,各個瀏覽器廠商可以進行類似的測試來驗證這一點。

關鍵字: