最佳化

Roblox 優化對於在各設備上獲得更流暢的遊戲體驗、更好的遊戲穩定性和更高的用戶留存率至關重要。經過優化的遊戲更有可能獲得良好的評價和評論,進而提升可見度。可以使用多種技術來有效地優化您的遊戲。

串流

在 Roblox 中,串流會根據需要動態載入和卸載 3D 內容,提升玩家體驗。
Image 1
Roblox Studio
  • 通過減少部件數量,因為更少的部件意味著更好的性能。
  • 優化材質,以平衡視覺品質和性能,特別是針對低階設備。
  • 優化光源,限制動態燈光並盡可能使用無陰影燈光,這些調整可減少計算負載並提升整體遊戲性能。

串流配置

Default引擎選擇最佳選項,目前與 Legacy 相同。
Legacy模型在玩家加入時與其父對象一起載入,並且除非父對象卸載,否則不會卸載。
Improved模型僅在需要時載入,而不是在玩家加入時載入。非空間模型稍後載入,而空間模型在需要時載入,並且可以稍後卸載。

啟用或禁用遊戲內容的串流。

Default沒有額外檢查;玩家可能會遇到缺少的內容。
PauseReceive如果關鍵部分丟失,則暫停數據接收,以避免遊戲問題。
Request當玩家進入某個區域時請求缺少的部分,減少遇到未載入內容的機會。

設置玩家周圍的最小區域,其中內容以最高優先級進行串流。預設值為 64 鑽石。增加此值會使用更多的記憶體和頻寬。

定義從玩家處串流的最大距離。預設值為 1024 鑽石。如果記憶體允許,引擎可能會保留此半徑之外的先前載入的內容。

Default內容僅在記憶體不足時刪除(與 LowMemory 相同)。
LowMemory在需要時卸載內容以釋放記憶體。
Opportunistic即使沒有記憶體壓力,也會卸載目標半徑之外的內容,以優化性能。

細節層級 (LOD)

在 Roblox 中,此設定決定了在啟用實例串流的體驗中的模型視覺品質。
StreamingMesh對於串流半徑外的模型,使用較低解析度的“替代”網格。
Disabled/Automatic不顯示低解析度網格,在串流半徑內保持完整細節。
Image 1
Roblox Studio

物理

為了優化 Roblox 中的遊戲性能,管理物理設定至關重要。您可以通過將不需要物理屬性的部件設定為錨定 (part.Anchored = true) 來停用它們。此外,通過禁用某些部件的碰撞 (part.CanCollide = false) 來減少不必要的碰撞,這進一步提升了性能。
Image 1
Image 2
Roblox Studio

更多優化選項

  • 通過減少部件數量,因為更少的部件意味著更好的性能。
  • 優化材質,以平衡視覺品質和性能,特別是針對低階設備。
  • 優化光源,限制動態燈光並盡可能使用無陰影燈光,這些調整可減少計算負載並提升整體遊戲性能。
  • 有效使用部件和網格:最小化高多邊形網格的使用,並盡可能使用 Roblox 的 BaseParts。
  • 腳本優化:識別並消除不必要的迴圈,優化演算法,並使用高效的資料結構。
  • 網路最佳化:減少資料傳輸並確保順暢的客戶端-伺服器通信。
  • 客戶端優化:將任務卸載到客戶端,以減少伺服器負載並提高回應速度。
  • 碎片服務 (Debris Service):在管理臨時物件時使用碎片服務。
local Debris = game:GetService("Debris")

local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Parent = workspace

-- Add the part to Debris, which will remove it after 5 seconds
Debris:AddItem(part, 5)

微型分析器 (MicroProfiler)

微型分析器 (MicroProfiler) 是 Roblox Studio 中用於分析和診斷遊戲性能問題的工具。
Image 1
Roblox Studio

Ctrl Alt F6 (⌘⌥F6)

Image 1
Roblox Studio

微型分析器 (MicroProfiler) (藍色 & 橙色)

Image 1
Roblox Studio
Color BarDetailsIndication
橙色工作時間超過標準幀中的渲染時間。表示正常性能,CPU 是重點。
藍色渲染時間超過工作時間。表示渲染瓶頸。懸停查看“等待渲染執行緒”的詳細資料。大量藍色條形表示渲染是主要問題。

微型分析器 (MicroProfiler) (尖峰)

Image 1
Roblox Studio
Graph PositionDetailsIndication
中間條形圖通常應位於圖形的中間。表示任務排程平衡的正常操作。
尖峰條形圖在圖形中間上方激增或增加。表示任務排程過程中花費的時間增加,通常是由於處理大量移動部件的工作負載增加所致。

微型分析器 (MicroProfiler) (暫停)

Ctrl P (⌘P)

在微型分析器 (MicroProfiler) 中,可以通過點擊或拖動圖表來導航幀,並使用滾輪縮放時間線。不同的任務以彩色標籤顯示,當一個任務在另一個任務期間執行時,相應的標籤會直接顯示在另一個標籤下方。
Image 1
Roblox Studio

微型分析器 (MicroProfiler) (放大)

右鍵點擊標籤,將時間線放大以匹配標籤的持續時間。

Image 1
Image 2
Roblox Studio

左鍵點擊顯示在遊戲視圖右下角的線性圖,顯示每幀執行任務所需的時間。此圖用於性能測試。

Image 1
Roblox Studio
主執行緒Details
主執行緒管理輸入、物理、動畫、聲音、Studio 更新並協調其他執行緒。
工作執行緒協助主執行緒完成諸如網絡、物理和路徑查找等任務。根據 CPU 核心的數量使用多個工作執行緒。
渲染 (GPU)負責圖形渲染。

自訂分析

要監控腳本執行複雜任務所需的時間,請在開頭使用 debug.profilebegin,在結束時使用 debug.profileend。這樣可以測量這些點之間的時間,並在微型分析器 (MicroProfiler) 時間線中建立一個標籤。
local Debris = game:GetService("Debris")

local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Parent = workspace

-- Add the part to Debris, which will remove it after 5 seconds
Debris:AddItem(part, 5)

如果您覺得本教程對您有幫助,並且願意支持我的工作,請考慮請我喝杯咖啡。

非常感謝您的支持!

請我喝杯咖啡