優化

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)

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

非常感謝你的支持!

請我飲杯咖啡