下面這條橫條就是一幀:從左到右是時間,從「開始畫這一幀」(0ms)走到「開始畫下一幀」(29.6ms)。紅色虛線是 60fps 的預算線(16.7ms)——一幀必須在虛線前結束才有 60fps,現在明顯超過:
同一條橫條,把兩段再切細(每小格是什麼,對應下面細分 A、B):
一幀的順序是這樣走的(為什麼兩塊要相加):
所以「一幀多長」=做事+等待,兩段是接續發生在同一條時間軸上的,所以相加。(實際上兩者會交錯進行,但每幀的總量就是這兩個數字。)
比方:廚師做一道菜 15 分鐘,但出餐口塞住、每道要再等 15 分鐘才出得去——客人感受到的上菜間隔就是 30 分鐘。要縮短間隔只有兩招:廚師做快一點(①),或把出餐口疏通(②)。下面把兩塊各自拆開,最後一張圖是「哪些開關能省多少」。
重點:沒有一格大到「砍一刀就贏」——都是小錢加總。這 14.5 與解析度無關(像素砍 16 倍它不動),但與遊戲內容有關(回到選單只剩 2.9)。
系統追蹤看到的形狀:七條執行緒各自半忙(沒有一條滿載),一幀要依序走完每一站,時間耗在「交棒」上;佇列塞住(Buffer Stuffing 佔 50% 的幀)是這個的症狀。降解析度能縮「等顯示卡」那格(所以降到 1/4 省 6.8ms),但縮不掉接力本身。
⚠️ 這些不可相加——大多在搶同一塊(像素池):
疊層數字說明:同一實驗跨 session 量到 −6.11 與 −7.20(差值在雜訊邊緣),故標區間;其內部拆分=繪製+raster 5.89/純合成≈0(同 session 一組)。全部一起拿掉(=幾乎空畫面)也只到 ~17.0ms——剛好卡在 60fps 預算的門檻上(101%)。搭配「主執行緒 14.5ms 與內容無關地存在」那條,就是「關功能到不了 60」的完整依據。
| 8/6 的分析 | 今天的實測 | 差異原因 | |
|---|---|---|---|
| 頭號嫌疑 | 殭屍骨骼計算(標 7.15ms) | 骨骼實測僅 0.88ms | 當時的量法把整段混在一起;直接取樣後拆開了 |
| CPU or GPU? | CPU-bound(等 GPU 只 4%) | 兩道天花板:主執行緒 14.5+GPU 阻塞 4.4 | 遊戲變了:當時每幀 70 次繪製命令,優化後剩 23——瓶頸搬家(考古實驗證實,兩次都沒量錯) |
| 降解析度有沒有用 | 沒用(1/16 只換 0.25-1.1ms) | 有用(−6.8ms) | 同上:提交端讓位後,像素浮上主導 |
| 少畫怪有沒有用 | 沒用(fps 不變) | 有用(0.19ms/隻) | 同上 |
| UI 疊層 | 沒被列為嫌疑 | 最大單一可拆項 −7.2ms | 當時的儀器只看 WebGL 內部,疊層合成在視野外 |
| 建議方向 | Worker+WASM(搬 CPU 工作) | 路徑手術/容器降解析度/重談目標 | 共享記憶體在 WebView 板上實測不存在;搬 CPU 的單一槓桿全部低於可測門檻 |
一句話:8/6 沒有量錯——它量的是三百多顆 commit 之前的另一個遊戲;而它的原始量測檔已滅失、部分結論的儀器視野有限。今天的每個數字都有雙份原始檔+指紋,之後不會再發生「說不清當時量的是什麼」。
重構主執行緒的提交與同步方式(渲染提交收攏、UI 疊層併層、塗抹成本集中化;系統面首條線索=drm-compositor 搶佔已定位待量)。唯一能把 CPU 天花板壓下去的路。
最終版跑在 Unity+UniWebView 裡,容器有權把 WebView 顯示表面設成 720p——網頁搆不到的那層。⚠️ 08-13 午後新增重要保留:B 的收益未實測,且最新數據對它不利——遊戲自己的畫布大小是網頁自己設的、不隨容器表面縮;容器縮的「最終合成」那一步實測接近 0;真正有效的解析度旋鈕(遊戲內 renderScale,實測 −7.4ms)是網頁側現成的,不需要容器。一個 10 分鐘的模擬實驗可定案,結果出來之前不建議選 B。
你裁過「不能只有 30」。數據顯示現路徑+已知修復(關疊層工程版/貼圖預載消頓挫/resize bug 修復)可做到穩定 40–45fps、無頓挫——比現在的「34fps 且抖」體感提升明顯。60 留給 A+B 落地之後。
本判決書的每個數字至少 2 輪實測+對象指紋。過程中 8 個數字被撤回(9fps/2.98MB 上傳/自動遊玩不殺怪/JS 2.1ms/選單取樣/容量假說/19.4 地板/三角驗證)——全部在團隊內部抓出(六次由量測自身的對照機制、兩次由審查者的質疑觸發),零次由團隊外部發現。後兩次的教訓比前六次深:自檢的覆蓋範圍有洞時,洞裡的錯誤自檢永遠抓不到——所以量測與審查必須是兩雙眼睛。撤回後存活的數字,才進了這份文件。
需要你決定的一題:選路(可組合,建議 B+C 先行、A 開原型評估)。選定後由負責人排程,效能線出驗收標準。
原始證據:F:\tmp\spin-evidence-20260812\(fingerprint+雙份備份)|研究底稿:上機效能優化候選研究(artifact,已標歷史)|三儀器:beacon 幀時間/JS Self-Profiling/atrace 系統排程