SPINNINGTOP · 效能線交接

陀螺效能量測交接

我方在 feat/verified-perf-optimizations 上做的量測基建、實測帳單與優化嘗試 —— 給 Barry 團隊

2026-08-21 ·守門員(效能線)彙整 · 全部數字為板上實測(RK3576/Mali-G52/WebView 116,量測版產物)· 基底 8c0ea1bc,Barry 分支預設零改動

01

帳單:三樣視覺各要付多少

場面:26 隻怪真戰鬥、骨架 60Hz(posediv=1)。ABBA 交替 + 當日零效果臂制度,三個 Δ 皆過判準門檻。

配置每幀幀率相對成本
骨架 60Hz(影子描邊關)16.67 ms59.98免費 · hold 60
+即時影子18.37 ms54.5+1.700 ms
+描邊(outline)19.03 ms52.5+2.360 ms
三樣全開(已拍板出貨配置)20.63 ms48.5+3.960 ms(下界)

拍板紀錄:蔡 2026-08-21 選「都先開」——交付分支 feat/impl-visuals-on-20260821@0847dc83 已完成 push。骨架 60Hz 在所有配置皆免費;「+3.96 為下界」因基準臂貼 60fps 天花板。

02

六種省效能的方法與誠實結果

1 · 骨架搬出場景樹 有效但幀率量不到

引擎每幀走訪節點 830 → 165(−80%),兩輪一致;幀時 Δ 低於雜訊。分支 c67d082c,保留不併。

2 · 姿勢共用池 有效但幀率量不到

同種怪同進度共算一次姿勢,mixer 計算 −59%;幀時 Δ 低於雜訊。分支 84f3d334,保留不併。

3 · 上述兩者合併 與零不可分

合併臂 Δ=−0.137 ≈ 當日零效果臂(+0.128)⇒ CPU 側正式收案:瓶頸不在骨架 CPU。可加性檢查同時反證單臂數字屬雜訊。分支 d1da5972

4 · 動畫相位分桶 場面限定不做

查證發現本遊戲相位偏移天生只有 10 種(seed % 10)——天然分組已比 30Hz 格點粗,再分無物可併;強制縮更少組才有效但引入可見同步感。留有復活條件與視覺刻度。

5 · 描邊併入本體 副作用淨虧,不採用

CPU 確實省一半,但描邊被拉進 shadow pass(陰影幾何 +15%)⇒ 影子開時淨虧 1.26ms。符號隨影子開關翻轉,兩場面皆實測。分支 8c901d56

6 · 描邊共用骨架紋理 最有希望 · 待複測

不併物件、只把 boneTexture/matricesTexture 指向本體:setBonesAt 54→27、triangles 不變(雙向硬判準)、描邊可見性以環帶判準驗過。Δ=+1.301ms 因當日量測台不穩暫不可宣稱——安靜時段複測一輪即可定案(坐實=補回缺口 1/3)。分支 e88f2315。順帶拆出既有洩漏修復(描邊物件從未被 dispose):bae47ee2,可直接併。

03

量測工具(已在分支上,可直接用)

量測規矩三條(與工具同等重要):每量測日開場先跑零效果臂(當日雜訊底);一律 ABBA 交替(台有「後跑者慢 0.25–0.46ms」的順序偏差,實測);Δ 小於當日雜訊底照實寫「量不到」。完整手冊在 repo:.agents/skills/perf-board-testing/SKILL.md

04

在 Barry 分支上發現的三件事

05

分支對照與證據入口