同一台 Mac,五個瀏覽器,五個分數
一台搭載 M4 Max 的 Mac Studio 在 Apple Store 跑我們的基準測試,拿到 10,630。拿來對照的那台 MacBook Pro——一顆較舊的 M2 Max——在家裡跑出過大約 12,900。更新、更大的晶片反而輸了 18%,而那些顯而易見的嫌疑(36 GB 記憶體對 96 GB、閒置的展示機對正在工作的開發機)一個也解釋不了。
於是我們拿一台機器——還是那台 M2 Max,同一台螢幕,同一個下午——跑了五個瀏覽器:
| Safari 26 | Edge 152 | Opera 131 | Firefox 156 | Chrome 151 | |
|---|---|---|---|---|---|
| 分數 | 11,443 | 11,713 | 12,801 | 6,275 | ~12,900 |
同樣的晶片,同樣的螢幕,最好與最差之間差了一倍。按場景看的數字比總分更離奇。我們的光線步進場景「液態金屬」在 Safari 裡穩住 25,523 單位,在 Firefox 裡只有 5,622——用的是同一顆 GPU。Canvas 2D 圓形:Opera 64,476,Firefox 9,960。我們的 CPU 物理場景在 Safari 裡比在任何 Chromium 瀏覽器裡都快 29%,因為 JavaScriptCore 比 V8 更合那段程式碼的胃口。
而門市裡的結果,原來是同一個故事換了一身行頭。在 Safari 上,M2 Max 在光線步進場景裡穩住 25,523 單位——門市裡的 M4 Max 卻只有 6,222,M5 Pro 更只有 2,628。同樣的瀏覽器,同樣的場景,更新、更快的 GPU 卻差了四到十倍。那個著色器裡有一個 180 次迭代的迴圈,較新的 GPU 世代與 Metal 編譯器的某種組合在它上面卡住了,舊世代卻沒有。那個場景量的早已不是片段吞吐量,而是編譯器的運氣。
瀏覽器基準測試誠實量測的是什麼
這個網站給出的數字不是晶片評分,而是對你實際使用的整套技術堆疊的量測:晶片、驅動程式、著色器編譯器、JavaScript 引擎、canvas 點陣化器、合成器。這是特性而非缺陷——這正是你打開網頁時得到的效能——但這也代表,比較時有兩條規則很重要:
只在同一個瀏覽器裡比較。 Safari 的分數和 Chrome 的分數,量的是剛好共用一顆晶片的兩套不同技術堆疊。我們的最高分排行榜早就在每一列標出瀏覽器;現在只要樣本足夠,結果單也會依瀏覽器顯示同一硬體的中位數。
基準測試不該放大技術堆疊的怪癖。 技術堆疊本身是量測的一部分,這很誠實。但一個場景只因編譯器不喜歡某種迴圈寫法就暴跌 10 倍,就說不過去了——那是基準測試本身太脆弱,該由我們來修。
基準測試 2.3.0 改了什麼
光線步進器現在分小批次繪製。 液態金屬不再用一個迴圈到 180 個取樣的著色器,而是累加反覆執行的四取樣算繪輪次——取樣位置相同,總工作量相同,算術一位不差。四次迭代的迴圈,正是每個引擎都能編譯好的那類著色器;它能否把最新的 Apple GPU 拉回片段吞吐量應有的趨勢,要等下一次去門市才知道。Firefox 則文風不動——換上新著色器後依舊是 5,622——因為它的開銷在每個取樣要做的工作裡,而不在外面那層迴圈上,要修它就得改動工作負載本身。
所有螢幕共用一個持續預算。 真實的垂直同步時間戳記比我們在 2.2.0 採用的整齊模型亂得多,而接固定更新率螢幕的機器,悄悄拿到了比可變更新率筆電寬鬆約 9% 的每格持續預算。現在所有人都要符合同一個 17.5 毫秒的截尾平均。
冷啟動不再產出垃圾數據。 在剛開啟的瀏覽器裡跑第一次,以前往往很慘:門市的一台展示 Mac 先跑出 77,幾分鐘後跑出 8,553;我們自己在家最初幾次用 Safari 跑,讀數是 304 和 1,149,之後才出現 11,443。三項修正:基準測試現在會在花掉三分鐘之前先檢查你的機器是否正忙;在每個場景裡等首次造訪的著色器編譯卡頓過去;如果機器已經安靜下來,還會在測試結尾給什麼都沒量到的場景再一次機會。沒有任何數字是捏造的——重試只是第二次量測。
標記現在說的是實話。 如果一次測試裡每個場景都量到了,但有一個階位沒能連續三個視窗獲得確認,過去整次測試就會被打到下限,完全進不了排行榜。我們的正式環境資料顯示,這類階位比穩定裝置量到的結果低約 13%——這是吃力的硬體在如實表現,而不是有人在灌分——所以它們現在會帶著標記發布,每個場景標記也會準確說明三種情況中發生的是哪一種。
結果也能帶著走了。 「複製連結」現在會把完整結果——分數、各場景負載、影格時間、標記——打包進連結本身。不上傳任何東西;在任何地方開啟,都會以唯讀方式顯示。如果你哪天要測一台不屬於你的電腦,再也不用對著螢幕拍照了。我們懂。我們拍過很多面螢幕。
2.3.0 的分數永遠不會和舊版本混在一起,所以排行榜從零開始。如果你想看量測原理的完整版——影格時間視窗、負載階梯、哪些情況會讓測試失效——方法說明頁裡都有。或者直接跑一次:大約三分鐘,而且現在它會事先告訴你,你的機器是不是狀態不佳。