Lobby 圖片盤點

gc.kimbaba.com.tw/Lobby · 桌機版網頁 1864×863、DPR 1 量測 · 尺寸建議以 iPhone 為基準推導 · 量測時間 2026-07-23
請求數是在瀏覽器端用 PerformanceResourceTiming 統計;每個檔案再從伺服器端重抓一次, 直接讀檔頭拿到真正的位元組大小與像素尺寸。

重點數字

625
圖片請求數
530
不重複檔案
31.59 MB
不重複傳輸量
36.48 MB
含重複請求
95
重複請求數
4.89 MB
重複浪費掉的量
414 MB
解碼後圖片記憶體
127.20 MB
改 384px 可省的記憶體(無畫質損失)
真正的問題是像素尺寸,不是檔案數量。530 個檔案裡有 405 個是 480 × 480 的遊戲 icon。在 500 px 斷點以下,Lobby 是用 width: 27.2vw 排 icon,所以 iPhone 需要的實體像素是 viewportWidth × 0.272 × DPR。整個 iPhone 系列裡最壞的情況是 359 px(16 Pro Max)。也就是說連最大最密的 iPhone 都被多塞了約三分之一的像素,其他機種更多。改成 384 × 384 可以把遊戲 icon 的解碼記憶體從 353 MB 降到 226 MB,而且畫面看不出差別。

依用途看體積

分類檔案數不重複位元組 含重複約
遊戲 icon40221.67 MB24.45 MB
活動 banner704.15 MB6.22 MB
功能模組213.98 MB3.98 MB
App 介面281.67 MB1.67 MB
追蹤碼/其他90.11 MB0.16 MB
合計53031.59 MB 36.48 MB

尺寸分布 — 實際上到底用到幾種尺寸

像素尺寸檔案數位元組
480 × 48040521.84 MB
1200 × 600262.22 MB
600 × 300230.87 MB
800 × 400100.53 MB
400 × 20080.16 MB
240 × 8080.02 MB
144 × 14460.04 MB
312 × 62463.57 MB
1 × 140.00 MB
720 × 72040.45 MB
640 × 16040.08 MB
1008 × 19230.17 MB
72 × 7220.02 MB
80 × 8020.01 MB

各 provider 的遊戲 icon — 402 個檔案、21.67 MB

ProviderIcon 數位元組
BNG1648.72 MB
QT884.57 MB
CQ9422.43 MB
RSGSW140.74 MB
TAG100.68 MB
BL120.58 MB
VA90.55 MB
GIO110.53 MB
FC70.43 MB
OSEG70.40 MB
ATG70.40 MB
RK550.32 MB
FVG40.22 MB
BLE30.17 MB
KBB30.16 MB
ZG30.16 MB
RG30.14 MB
YB30.14 MB
BOD20.11 MB
BT20.11 MB
I820.10 MB
SYSGAME10.04 MB

重複下載真正的代價 — 以及哪些不算在它頭上

單次載入中有 93 個 URL 被抓不只一次,換來 95 個多餘請求、4.89 MB 可以省掉的傳輸量 — 佔整頁下載量的 13%。
重複發生在哪裡URL 數 浪費的傳輸量
遊戲 icon502.78 MB
活動 banner392.07 MB
追蹤碼/其他40.05 MB

造成的損失

重複下載不會造成的成本

它們不會讓記憶體翻倍。瀏覽器的解碼 bitmap 快取是用 URL 當 key,所以同一個檔案被要求 三次,還是只解碼一次、只留一份。這也是為什麼上面那個 414 MB 的解碼記憶體,完全是像素尺寸 造成的,跟重複次數無關。解決重複下載是頻寬和延遲的勝利;解決尺寸才是記憶體的 勝利。這是兩個獨立的問題,而且兩個都值得做。

重複是從哪來的

只要在合併後的預載清單上套一個 Set,再把每張 banner 的 <img> 或 CSS 版本擇一拿掉,基本上就全部解決了。畫面不用改 — 最後呈現在螢幕上的像素完全一樣。

iPhone 上的記憶體成本 — 真正會痛的平台

476 個 <img> 解碼後佔用 414.6 MB 的 RGBA bitmap。圖片解碼後的記憶體是 寬 × 高 × 4 位元組,跟壓縮得多好完全無關 — 所以一張 56 KB、480 × 480 的 WebP 在記憶體裡是 0.88 MB,大約是檔案大小的 16 倍。這個數字在任何裝置上都一樣, 因為它只取決於來源像素,跟螢幕無關。桌機扛得住,iPhone WebView 扛不住。

一張遊戲 icon 在真正的 iPhone 上有多大?

在 500 px 斷點以下,Lobby 用 .gameCard-area .s-card { width: 27.2vw } 排每一張 icon — 是視窗寬度的比例,不是固定的框。所以一張 icon 需要的實體像素是 viewportWidth × 0.272 × devicePixelRatio。所有 iPhone 直立時都在 500 px 以下, 因此全部走這條規則。(≥ 500 px 會變成固定 145 px,桌機是 128 px。)
iPhoneCSS 寬度DPR 版位(CSS px)需要的像素 佔目前輸出 480 px 的比例
iPhone SE(第 3 代)、8375102204
iPhone 11、XR414113225
iPhone 13 mini375102306
iPhone 14、13、12390106318
iPhone 16、15、14 Pro393107321
iPhone 15 Pro Max、14 Pro Max430117351
iPhone 16 Pro Max440120359
整個 iPhone 系列最壞的情況是 359 個實體像素(16 Pro Max:440 × 0.272 × 3)。 而每張 icon 都輸出 480 × 480。所以連最大、最高密度的 iPhone 都被多給了大約三分之一 的像素 — 其他機種只會更多。

每個選項的成本與節省

下面的檔案大小是實測,不是估算:隨機抓 60 張 480 × 480 的 icon,用 Lanczos 縮圖後 重新編碼成 WebP。選 quality 80 是因為把原圖以 480/q80 重編後只有現在大小的 94% — 代表來源檔大約落在 q82,所以用 q80 比較是同級比較,而不是偷偷降畫質。 縮小不會糊,只有放大才會。任何像素數達到 359 的方案,在所有 iPhone 上都是視覺無損。
輸出尺寸評價402 張 icon 檔案總量 解碼後記憶體記憶體省下理由
480 × 480現況21.67 MB353.32 MB現況直接輸出
384 × 384建議14.82 MB226.12 MB−36%涵蓋所有 iPhone(含 16 Pro Max),還有餘裕
360 × 360再緊一點13.67 MB198.74 MB−44%剛好蓋住 359 px 的最壞情況,沒有餘裕
320 × 320積極11.49 MB157.03 MB−56%只有 Pro Max 會放大 1.12 倍 — 幾乎看不出來
256 × 256太過頭8.36 MB100.50 MB−72%所有 DPR 3 的 iPhone 都放大 1.40 倍 — 看得出來糊
建議:384 × 384。它剛好是 128 px 版位的 3 倍,蓋過 359 px 的最壞情況還有餘裕, 而且在每一支 iPhone 上都不會被放大,所以視覺上完全一樣。實測結果:遊戲 icon 從 21.67 MB 降到 14.82 MB,解碼後記憶體從 353.32 MB 降到 226.12 MB — 在你最在意的平台上省下 127.20 MB,畫面看不出任何差別。
想再壓的話,320 × 320 可以省 196.29 MB,而且只有 Pro Max 會被放大 1.12 倍 — 在 3 倍密度的螢幕上實際看不出來。256 × 256 就太過頭了:所有 DPR 3 的 iPhone 都會放大 1.40 倍,那才是開始看得出糊的地方。本報告較早的版本是以桌機 DPR 1 量測為基準建議 256, 那個基準是錯的,這裡已經更正。
兩全其美的作法:用 srcset 準備 256/384 兩種,DPR 1 和 DPR 2 的裝置拿小的, DPR 3 的 iPhone 拿大的 — 沒有裝置會多抓,也沒有任何一張會被放大。

最吃記憶體的圖 — 依解碼後的 bitmap 排序,不是檔案大小

檔案像素檔案大小 解碼後記憶體
bg.jpg1920 × 108030.9 KB7.91 MB
390_bg.webp1200 × 60087.5 KB2.75 MB
316_bg.webp1200 × 600102.8 KB2.75 MB
322_bg.webp1200 × 600133.3 KB2.75 MB
162_bg.webp1200 × 60050.1 KB2.75 MB
319_bg.webp1200 × 60068.6 KB2.75 MB
255_bg.webp1200 × 60053.2 KB2.75 MB
145_bg.webp1200 × 60078.3 KB2.75 MB

其他省記憶體的做法

結論

涵蓋範圍檢查 — 有漏掉什麼嗎?

這份清單是用 PerformanceResourceTiming 建出來的,跟 DevTools Network 面板看到的 是同一組資料,包含快取命中的部分。另外對一次全新載入做了三項交叉檢查,確認沒有東西 從篩選條件底下溜掉: 每次載入的數字會差幾張,因為促銷輪播和彈窗會換內容;這份清單是其中一次有代表性的載入。

站上全部 530 張圖 — 依分類分組;可以用下面的控制項篩選、排序、調整縮圖大小