排行榜上的 Android 手機,以及把它們藏起來的那個 bug
這五週裡隨便哪天打開基準頁,「依 Android 裝置」那張表裡只有一行:其他 Android。到那時,已經有幾百台 Android 手機跑過基準。表上本該有 Samsung、Xiaomi、Pixel,還有其餘的品牌。那是我們的 bug,今天起修好了。
哪裡出了問題
手機瀏覽器不會告訴網站「Redmi Note 13 Pro」。它交出來的是型號代碼,我們能用的只有這個。我們拿它去對一份匹配規則,只留下家族,比如 Galaxy A-series 或 Xiaomi / Redmi,代碼本身不留。
這份列表過時的地方,正好是要緊的地方。Xiaomi 的代碼以型號登記的年月開頭,後面再跟五到七個字元。我們的規則指望前面是五位數字,再拖一條長尾巴。2312DRAABG 是一台 Redmi Note 13 Pro,第五位上的字母把匹配打斷了。2201117TG 是一台 Redmi Note 11,太短。這兩類加起來,大概蓋住了目前 Xiaomi、Redmi 和 POCO 的一半。Honor 的代碼,以及較新的 Huawei 代碼,什麼都對不上。2021 年以前的 OnePlus、iQOO、Lenovo 平板也一樣。Galaxy S26 和 Pixel 10 沒有自己的家族。這些全進了其他 Android。
第二個問題是算術。一個家族要有 30 次執行,表上才顯示它,因為十幾次執行得出的中位數晃得太厲害,排不出名次。幾百次 Android 執行拆到 26 個家族上,就算標籤是對的,也幾乎沒有誰夠到 30。
改了什麼
規則現在蓋住上面說的全部手機。有兩對共用一行,因為它們的代碼長得一樣,分不開。Huawei 和 Honor 用同一種格式。OPPO 和 OnePlus 也是,它們從 2021 年起用同一套 CPH 代碼。這幾行的名字裡寫了這一點。
表還會把家族向上歸攏。滿 30 次執行的家族仍然單獨一行。不到的,並進品牌,於是十幾台 Galaxy S24 和二十台 Galaxy A-series 會顯示成 Samsung,而不是消失。A 系列一旦到 30,就重新單獨佔一行,品牌餘下的變成 Samsung (其他)。一個品牌加起來還不到 30,就進其他 Android。每一次執行只計在恰好一行裡。
有一件事修不了:已經存下的執行仍用當初的標籤。我們從不保留型號代碼,只留家族,沒有東西可以拿來改標籤。新的執行替換舊的,其他 Android 那一行會縮小。它不會一夜之間空掉。
Android 手機落在哪裡
下面是今天早上基準頁上的數字,迄今為止基準 2.5.0 的每一次執行。
| 組 | 執行 | 中位數 | 中間一半 |
|---|---|---|---|
| iPhone | 137 | 2,338 | 1,239 – 3,152 |
| Qualcomm Adreno | 177 | 1,357 | 834 – 2,901 |
| Samsung(所有機型) | 63 | 1,091 | 564 – 2,266 |
| Arm Mali | 130 | 826 | 455 – 1,674 |
順序和你猜的一樣,間距比你以為的大。一台典型的、用 Snapdragon 晶片的手機,分數是一台典型 Mali GPU 手機的 1.6 倍。這有一部分是價格的分界,不是晶片的分界。多數入門和中端 Android 手機跑的是帶 Mali 圖形的 MediaTek,Google 自家以外的多數旗艦跑的是 Snapdragon。一台典型 iPhone 是一台典型 Snapdragon 手機的 1.7 倍。Snapdragon 的跨度倒是很寬:這些手機裡靠前的四分之一高於 2,901,穩穩地在典型 iPhone 前面。
Snapdragon 的中位數也掉下去很長一截。2.5.0 的頭兩週,數進去的 Snapdragon 手機有 39 台,中位數是 2,460。放到 177 次執行上,是 1,357。我們把它讀成早期執行偏向旗艦。剛買了高端新機的人,最先想看看它能做什麼。39 次執行的中位數是一個提示,更多資料進來以後,提示就是這個樣子。
Snapdragon 和 iPhone 各贏不同的場景
總分藏著一道分界。基準有六個場景,手機不會在場景之間保持同一順序。還是那兩週:
| 場景 | 它靠什麼 | Snapdragon 手機 | iPhones | Mali 手機 |
|---|---|---|---|---|
| 星雲漂流 | GPU 粒子 | 6,291 | 2,796 | 1,067 |
| 液態金屬 | 片段著色器 | 1,519 | 675 | 293 |
| 星隕瀑布 | CPU 物理 | 2,950 | 11,593 | 1,570 |
| Canvas 2D 基礎圓形 | Canvas 2D | 3,143 | 6,343 | 2,139 |
一台典型的 Snapdragon 手機,在兩個 GPU 場景裡做的工作比 iPhone 的兩倍還多。iPhone 在 CPU 物理場景上大約是四比一,在 2D canvas 場景上是二比一。那兩週裡,Snapdragon 和 iPhone 的總分落在幾個百分點之內,一路上卻幾乎沒有哪一項是一致的。如果一支手機主要用來玩遊戲,GPU 那幾行比總分更能說明它。
這些數字來自 39 台 Snapdragon 手機、51 台 iPhone 和 29 台 Mali 手機。夠看出形狀,還不夠讓人相信第三位數字。
Android 比較少乾淨地跑完
一次執行是完整的,是指每個場景都找到了手機能穩穩撐住的負載。過熱降頻,是指手機測得清楚,但熱起來以後變慢了。那頭兩週的 Android 執行裡,54% 以完整結束,29% 過熱降頻,17% 至少有一個場景測不出來。iPhone 有 78% 的次數以完整結束。
這裡頭大部分是熱。手機沒有風扇,三分鐘滿負載就夠讓它退讓。如果你要的數字反映的是手機本身,而不是它熱成了什麼樣,就插著電、放在涼的平面上、關掉其他應用再跑。結果如果回來是過熱降頻,等手機涼了再跑一次。
讓你的手機上表
開啟分享再跑一次基準,你的手機家族就加入計數。執行少的手機先出現在品牌下面,到了 30 次再作為自己的家族出現。一次執行我們存下什麼,寫在隱私頁上:分數、各場景的結果、螢幕的數字,以及 GPU、瀏覽器和 Android 上手機的粗分類。基準頁上沒有比這更細的東西。