你添加到體驗中的每個建築和腳本組件都會消耗記憶。當記憶使用達到引擎限制時,使用者的裝置或伺服器可能會崩潰,因此您需要積極監控記憶使用並採取最佳化行動。 開發者控制台 提供兩種用於監控記憶使用的工具,包括:
記憶體 — 查看使用類別的實時記憶使用量,包括您自訂組件和引擎內部過程的記憶使用量。
Luau堆 — 在堆記憶上創建截圖,指向對你的腳本的記憶分配。此工具提供各種記憶配置檢視,可幫助您從不同角度識別當前記憶配置和問題,例如對象類型和引擎類類別。它也允許您創建多個截圖來比較隨著時間推移的記憶使用差異。
您可以使用以下任一方式在測試或實時體驗會話期間開啟控制台:
- 按下 F9 。
- 在聊天中輸入類型 /console。
- 使用經驗內的選單:
開啟體驗內的 Roblox 選單 。
選擇 設定 標籤。
向下捲動到 開發者控制台 並點擊 開啟 。
內存
記憶體 工具會分類和顯示實時記憶體使用。它顯示每個類別的記憶使用量以 MB 並生成時間變更使用圖表。
要查看記憶配置:
開啟 開發者控制台 。
擴展工具下拉選單以選擇 記憶 。
擴展客戶端與伺服器下拉選單以選擇 客戶端 或 伺服器 。
瀏覽記憶使用類別和項目。對於想要查看超時使用模式的類別或項目,擴展類別以顯示圖表。
核心記憶 — 引擎核心構建過程的記憶使用,包括網路、虛擬人偶和 GUI (圖形用戶介面) 元素,你沒有直接控制權。
位置記憶 — 根據您如何構建體驗來使用記憶,包括模型、地形、零件、腳本和所有其他您添加到體驗中的自訂元素。
放置記憶參考類別 說明 HTTP 緩存 從 Roblox 伺服器載入的資產 (圖像、網格等) 已加載到記憶體的緩存中。 實例 Instances 在那空間。 訊號 在實例之間發射的信號(向一個實例發射事件以觸發另一個實個體、實例的事件)。 Lua堆 堆疊記憶對於核心腳本(與 Roblox 客戶端一起提供的腳本)和自訂腳本。 腳本 Luau 腳本。 物理碰撞 物理模擬的衝突數據。 物理零件 物理幾何和動力學。 圖形Solid模型 圖形數據渲染固體模型。 圖形網格零件 對 MeshPart 物件的圖形。 圖形粒子 粒子系統的圖形。 圖形零件 零件的圖形。 圖形空間哈希 一般渲染。 圖形地形 地形圖形。 圖形紋理 紋理記憶。 圖形紋理角色 對角色的紋理記憶。 聲音 記憶體內的聲音。 傳送聲音 傳送聲音。 地形沃克斯 地形沃克斯。 地形物理 地形物理。 GUI 常用的 GUI 元素使用的記憶。 動畫 用於動畫資料的記憶,例如姿勢和 KeyframeSequence 用於虛擬人偶動畫的緩存資料。 導航 支援結構使用的記憶用於 PathfindingService 。 未跟蹤記憶 — 系統無法簡單地將記憶配置到特定來原始碼的記憶分配。
放置腳本記憶體 — 腳本記憶體的使用量,包括如何個別腳本和自訂記憶標籤對整體記憶使用有何貢獻。
核心脚本記憶 — 你沒有直接控制權的內部引擎腳本對記憶的使用。
在這些類別中, 放置記憶 和 放置腳本記憶 是最重要的性能優化類別,因為它們可以幫助您理解您的建築和腳本選擇如何影響記憶消耗和潛在優化區域。若要進一步了解 PlaceScriptMemory 的情況,您可以使用 Luau 堆 工具來創建截圖並分析不同指標下的記憶分配。
盧埃堆
Luau堆 工具可讓您在堆內存當前配置上創建截圖,該配置指的是將堆內存分配給Luau腳本以儲存變量、表、函數和其他運行時數據結構的記憶配置。此工具提供各種記憶配置檢視,可幫助您從不同角度識別記憶配置和問題,例如對象類型和引擎類類別。它也允許您創建多個截圖來比較隨著時間推移的記憶使用差異。
創建截圖
要創建您記憶配置的截圖:
開啟 開發者控制台 。
擴展工具下拉選擇 LuauHeap 。
擴展客戶端與伺服器下拉選單以選擇 客戶端 或 伺服器 。
按一下 創建截圖 按鈕。
分析記憶使用
工具提供五個您可以從中選擇查看 Luau 記憶配置的視圖:
- 圖 — 顯示聚合的記憶使用樹,每個節點代表具有分配記憶的對象。
- 對象標籤 — 顯示運行時類型的記憶大小和數量,例如 function、table 和 thread。
- 記憶類別 — 顯示由引擎指定的記憶類別所指示的記憶大小和數量。引擎在分配時間時為對象指定記憶類別。
- 對象類別 — 顯示由您的腳本使用和儲存的引擎類別的記憶大小和數量,例如 EnumItem、Animation、CFrame。
- 獨特參考 — 顯示數量和總數的實例,沒有資料模型中的父親,只能透過腳本存取,以及所有路徑,將實例對物件頂置。
圖表
圖形 視圖是所有 Luau 堆檢視中最詳細和最複雜的視圖。它顯示聚合的記憶使用樹,每個節點代表分配記憶的對象。樹狀圖顯示對象如何相互連接並得到對象參考之間最短路徑。它具有以下記憶體大小列:大小 — 自記憶使用加上數據結構內容記憶使用。自己 — 為數據結構本身直接配置的記憶,不包括任何包含的內容的記憶使用。

樹狀圖的根是 registry ,它存儲所有引擎和 Luau 參考,例如與信號連接的函數或任務庫、模組腳本返回的表和類,以及全球函數、表和類別。通常會親生以下常見入口:
- Module @Path.To.Module 是模組腳指令碼返回的表。
- name:123 =Path.To.Module 是指指定的腳指令碼內的一個功能。匿名函數沒有名稱。頂層節點經常指向全球腳本功能。匿名函數沒有名稱。例如::1= Workspace.[Username].Animate。
- upvalue 是捕獲的函數的參考。請參閱 捕捉本地範圍 獲得更多信息。
- env 指的是功能的環境。在大多數情況下,它是代表腳指令碼全球範圍的表。
- globals 指的是線執行緒的環境。
- [key] 代表用於表鍵的對象。
- array 代表一個陣列。
- stack 指代儲存所有功能本地的 arrays。
- constants 代表功能使用的所有常量值。
記憶類別
記憶類別 視圖 顯示記憶大小和數量,由記憶類別分配給對象在分配時間,引擎會將其分配給對象。預設情況下,記憶類別與腳指令碼名稱相同,或您可以使用 debug.setmemorycategory 函數指定自訂記憶類別名稱。
獨特參考
獨特參考視圖顯示沒有資料模型中的父級的實例的記憶使用,並只能由腳本訪問,以及所有路徑,將實例對物件頂置。這個視圖有兩個指標:
- 數量 — 顯示可從同一路徑訪問相同名稱的實例數量,例如同一表中命名為 Dragon 的多個實例。
- 總共實例 — 顯示這些根內的所有物件總數,例如所有零件、腳本和聲音物件,構成一個 Dragon 個體、實例。

這個觀點對於識別不需要連接的實例有用,當您不再需要它們時,您需要將它們斷開。如果在此檢視圖中看到許多未預期的情況,請檢查持有它們的路徑,並評估它們是否有必要。