跳到正文
文件
本頁內容

關卡預算

手機能流暢承載一幀中約1000個形狀,低配電腦能承載5000-10000個。比數量代價更高的是過度繪製:鋪滿全屏的半透明內容,一層疊一層

裝置能承載多少形狀

統計的是同一幀中同時存在的形狀。數字是近似值,但數量級是對的

裝置流暢可玩的極限
手機10002000
低配電腦5000-1000020000-40000
中等電腦(根據Steam調查)50000100000

在你能找到的最弱的裝置上測試。在你自己的電腦上一切都會正常,但這說明不了什麼

文本和特效

文本和特效也按形狀計算

文本:每個文本物體摺合2到100個形狀。代價取決於字型的複雜程度、字元數、樣式數,以及文本是否有動畫

特效:物體本身算10個形狀,每個粒子再加0.1個形狀。一個有一千個粒子的特效大約相當於110個形狀

過度繪製

代價高的不是數量,而是過度繪製。也就是同一個畫素被一遍又一遍地重新繪製

由此可知:

  • 一個鋪滿全屏的半透明填充比一百個彈幕更昂貴
  • 層層疊加的半透明裝飾是你能搭建出的最昂貴的東西
  • 如果關卡卡頓,去找覆蓋整個螢幕的東西,而不是去數物體
須知

在一塊中端移動晶片上,一個1000個物體、重疊達60-70倍的場景,會把95-97%的GPU時間花在給畫素上色上。一千個分佈在螢幕各處的小形狀,比十個相互疊加的半透明全屏形狀更便宜

不透明和半透明

形狀可以選擇繪製路徑:自動、不透明、透明。不透明路徑更便宜:GPU會提前丟棄被遮擋的畫素

自動會在載入時自行決定一次。它的硬性條件是絕不改變關卡的外觀。凡是無法證明為不透明的,都會變成半透明

警告

只有在完全清楚自己在做什麼時才手動設定路徑。一個被宣告為不透明、實際卻不是的物體不會變快,只會顯示錯誤

容量提示

儲存時,關卡會記錄它最繁重的那一幀需要多少個物體。這是給載入器的提示,不是上限。生成器會重新計算它

接下來:移動裝置、圖片與字型