標籤參考

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

下列是微處理器中的常見標籤,依類別組合。了解這些標籤可以幫助您在體驗中找到問題的代碼。檢視表中包含標籤、說明和性能提示,以幫助您改進體驗並最佳化您的體驗。

AI/導航

標籤說明性能提示
rasterize 片更新導航磚塊是導航要邀請的必要組成部分,通常由 pathfinding 跟隨,其中需要這些磚塊是最新狀態。在主線執行緒上執行 NavigationJob/preprocess。減少路徑找尋瓷磚無效,因為這會使得這些路徑需要重新計算。這是因為非導航零件移動造成的。
計算路徑

通常在 rasterizeTile 後計算路徑。

減少 ComputePath 呼叫的數量和世界範圍。如果預期從相似位置開始/結束,請嘗試重用路徑。
預處理/獲取原始模型交錯為每個路徑找箭頭時收集世界的地形,並按時執行路徑找箭執行緒的掃描任務。減少零件數。

動畫

標籤說明性能提示
模擬/遊戲Stepped處理遊戲特定對象,例如 HumanoidsAnimations 和心跳回報
模擬/遊戲/步驟傳承Humanoid 狀態變更和 movement.Called 步驟人形在服務器上 (並行版本)如果你有 NPC,請禁用或減少 Humanoid 狀態。階層狀態是最重要的來停用。減少回調到狀態變更,例如 Humanoid.DiedHumanoid.Running
模擬/遊戲/步驟動畫Animators 將在播放目前的動畫時向前邁進。減少 Animators 或動畫共同體的數量來減輕此步驟的工作量。減少回呼數量到動畫事件,例如 AnimationTrack.KeyframeReachedAnimationTrack.Ended
Simulation/gameStepped/RunService.Stepped執行連接到 RunService.Stepped 事件的功能。減少此事件連接到此事件的函數的數量或工作量。請考慮延遲或替換昂貴的計算。請考慮將計算擴展到多個框架。

音訊

標籤說明性能提示
聲音處理音訊:地點、效果、音量等
開發者標籤_音效內存聲音:一般是小聲音,足以夠儲存。通常是暫時的一次性 fx,不是長時間的音樂。使用較少的音效。
開發者標籤_流媒體聲音stream/StreamingSounds:這些是從硬碟上傳播的更大的音頻。通常為長形音樂檔案。使用較少的長音。

網路

標籤說明性能提示
網路傳輸接收接收網路包。 如果有很多對象或事件正在重複,這個步驟需要更長的時間。重複更少的對象或事件。
複製器/程序包處理網路包裹中的內容,例如運動、事件邀請和屬性變更。減少複製的對象數量或大小,或以增量步驟執行此操作。如果地圖大小增加,則會增加,因為大型地圖通常有更多的總活動。
分配帶寬並執行發送器/數據傳輸器和觸摸發送器傳送有關體驗中的活動資料。減少移動對象和/或觸摸的數量。請參閱下列部分。
分配帶寬並執行發射器/調度流程工作傳送指定區域到特定客戶端的 "串流" 功能。降低最低和目標流媒體範圍。
分配帶寬並執行發送器/數據發送器傳送屬性變更、遠端事件、人形狀態變更、動畫開始/停止。減少複製變更的數模型
複製器發送器傳送地形資料給客戶。減少地形變更的數量或尺寸。
ModelCompleteness 超級工作僅有伺服器:完整度是內部概念。當模型完全傳送時,模型完整度事件會發句增加或減少更少的實例。
Deserialize 包低端網路包裹處理。準備於 Replicator 網路包裹。發送更少的更新。

渲染

標籤說明性能提示
準備資訊從主線程中採集,並更新各種資料結構,用於渲染。這樣會阻塞模擬線程,因此應該盡可能小。請參閱下方的準備標籤。
準備/Pass3dAdorn渲染各種物件裝飾,例如上方的文字標籤。這個步驟可能包括射線投射,以確定這些物件是否可見。減少飾飾的可見物體,例如 BillboardGuisHumanoid 名稱/健康標籤等。
準備/Pass2d準備 2D 用戶界面渲染 (玩家和 Roblox 用戶界面)。減少 UI 元素的數量或複雜性。
準備/更新準備/更新InvalidParts更新有一些屬性變更或添加的零件。減少世界上物件的更新量。如果指令碼更新大量物件屬性,請將它們拆分為更多個框架。
準備/更新準備/更新無效的FastClusters準備 геометria,通常是「FastClusters」用於渲染 Humanoids。子標記指定零件、角度和零件大小。將「人形」在不是 Humanoids 的對象下使用。這不應該用來減少快速群集的呼叫,因為它們消耗了更多記憶體。
準備/更新Prepare/updateDynamicParts更新位置為 Humanoids、車輛和其他移動實例以渲染。減少可見的移動 Humanoids 或車輛的複雜數量。將相同材料和顏色的零件結合成協賽或 MeshPart 可以幫助。
準備/更新Prepare/updateInstancedClusters準備使用靈活渲染的靜態幾何圖形。標記「集群」和「集合」會顯示更新的數字。使用較少的總網格和材料變更。您也可以使用類似外觀的對象來創建集群 - 大小、顏色、材料。
執行當真實的渲染指令被建立並發出時。請參閱下方的標籤。
執行/填寫GUI垂直用戶界面渲染。用戶界面垂直向上指向飾品。「GUI count」標籤指 renderer 列表中的元素數。如果費用高,請確保隨時不使用,以減少更新介面的內容。
演出/場景/查詢FrustumOrdered應用 frustum 清除,以便不能見到的對象不會顯示。如果有高費,這表示有很多元素。也許使用一些大型網格,其中單個網格有更多細節,而不是許多小獨立項目。
執行/場景/計算燈光演出計算靠近攝影機的照明。操作燈光數量或移動相機來減少照明的重新計算時間。
執行/場景/計算燈光/計算網路CPU更新像素照明,這是使用 VoxelShadowMap 模式和品質等級在 Future 模式下使用。如果更新塊位佔用時間過長,請考慮使用更低解析度的幾何,減少零件數量,或錨定零件。如果其他子標記過長,請考慮減少燈光,並使用非暗影投射技術對於移動並無效的對象。
執行/場景/計算燈光/執行/暗影地圖系統更新暗影地圖。不在品質等級低於 4 或 Lighting.Technology 設為 Voxel 時執行。如果照明設為 Future ,將它設為 ShadowMap 或減少燈光數量。你也可以使用 Light.Shadows 和 1> Class.BasePart.CastShadows1> 來禁用暗影投射在更少重要的實例上。請參��
執行/場景/發光,色彩修正,MSAA,SSAO,SSAOApply處理後重新渲染。降低處理後效果數量。通常這不是很重要的。
演出/場景/UI用戶界面渲染。在Id_Screen中,有一個標籤用於顯示使用的材料、合成次數和結構。減少可見的 UI 元素數量。使用 CanvasGroups 可能會在努力增加記憶體使用率的同時帶來更高的性能。
執行/場景/更新視圖/更新Particles, 更新ParticleBindings更新位置和限制。減少ParticleEmitters、排放率、有效時間等。限制發射器的移動。
Id_Opacity零透明值的場景中的零件。
透明度_id以 0 以外的透明度值在場景中的零件。降低使用部分透明度(值不是 0 和 1 的值)。
Id_Decal場景中的裝飾。
執行/呈現等待GPU完成上一個框架的渲染;其實是向GPU發出渲染指令;處理低等級的圖形資源。減少場景複雜度。如果此步驟需要很長時間,您可能會因為GPU而受到限制。
執行/呈現/等待已完成等待GPU完成上一個框架的渲染。如果這種情況發生得很常見,則渲染的物件數量過多。如果 FRM 可以幫助平衡這種情況,請嘗試減少細節。

腳本

標籤說明性能提示
渲染/預覽/fireBindToRenderSteppedCallbacks運行步驟的函數,以 RunService:BindToRenderStep() 的方式傳送。確保使用 RunService:BindToRenderStep() 的函數在指令碼中執行的工作量盡可能少。
Render/PreRender/RunService.RenderStepped執行連接到 RunService.RenderStepped 事件的功能。BindToRenderStep 相似,請確保使用此事件的功能盡可能少工作。
等待橋梁式腳本工作使用 wait. 框架來預覽程式碼。此步驟有執行時預算可以執行等待指令碼,因此如果您有太多等待指令碼或指令碼的預執時間過長,此步驟可以取多個
LuaGCLua 垃圾收集週期。標籤提供總共佔用記憶體和佔用記憶體的百分比。泳池 lua 桌和其他可收集的對象或嘗試減少創建暫時桌子或字串
心跳/執行服務器心跳執行連接到 RunService.Heartbeat event.Talk 的函數。目前說明已足夠一般,因此不會出錯減少 RunService.Heartbeat 與功能連接的數量或工作量。

模擬

標籤說明性能提示
分散物理學擁有人確定伺服器或客戶端對某些例子,例如零件,有權限。分散物理學擁有。
模擬/組合更新物理引擎使用的連接對象(裝配)樹。減少創建或摧毀共同體的數量。
模擬/物理SteppedTotal/物理Stepped執行物理模擬。減少物理模擬身體的數量和複雜性。
模擬/物理步驟總計/物理步驟步驟總計/步驟過濾器/步驟過濾器更新模擬島,按照網路擁有人、本地模擬的順序排列零件。零件可以獨立模擬。避免設定網路擁有頻率。請保持零件群組盡可能遠離,以便能獨立模擬。
模擬/物理SteppedTotal/物理Stepped/worldStep/stepContacts更新對象之間的聯絡。減少一次碰撞的體數量,或使用簡單的碰撞箱。方塊比複合網格更好。
Simulation/物理SteppedTotal/物理Stepped/worldStep/stepWorld 步WorldThrottled解決有關連接器、浮力和 Humanoids 的物理方程式。當引擎超載並無法模擬所有內容時,有些步驟可能會被限制 (步驟WorldThrottled) ,只有 "真實時間組合" 如 Humanoids 才能模擬。取決於以下三個階段的時間位置:步驟聯絡:寬度階段碰撞偵測階段測試。解決器步驟:集成時間和解決碰撞和其他限制更新寬度:更新位置和解決碰撞和其他限制更新寬度:更新位置和解決碰撞和其他限制更新寬度:更新位置和解決碰撞和其他限制更新寬度:更新位置和
通知移動裝置幫助追蹤原始模型何時睡眠。
模擬/物理SteppedTotal/物理Stepped/interpolateNetworkedAssemblies與此網路夥伴無關的裝配件。將零件網路的所有者設為此對稱,以減少此情況;雖然這會通常會在其他地方執行更多物理工作。
模擬/處理FallenParts移除因 Workspace/FallenPartsDestroyHeight 而滿落的零件。降低摧毀高度或減少摧毀高度摧毀的零件數。
心跳/心跳內部/工作區OnHeartbeat/更新VisuallySleepingNotifyMovingAssemblies 的第二部分。
心跳/執行服務器心跳執行連接到 RunService.Heartbeat event.Talk 的函數。目前說明已足夠一般,因此不會出錯將連接到 RunService.Heartbeat 的函數工作量或載入量減少。
世界步驟/步驟聯絡幫助物理模擬步驟多次觸發更多聯絡。減少碰撞對象的數量。
解決協助物理模擬解決物體的動作。
機器人交互器協助以 InterpolateNetworkAssemblies。

用戶界面

標籤說明性能提示
輸入/輸出/更新輸入如果使用者自從上一個框架以來執行輸入,則更新和重新啟動所有與輸入相關的事件。這是與使用者輸觸發相關的事件發生時間。當你收到輸入時,重要是要盡量不要直接執行太多工作,而是要嘗試不要做太多的工作。考慮在輸入中執行最小的處理,並且稍後將大型計算推到另一個線程。
渲染/預渲染/TweenService使用 TweenService 斷開物件,並且呼叫完成回潮,例如使用提供的 TweenSizeTweenPosition使用 TweenService 減少物件的數量,並確保回帶式服務能夠執行最少的工作。
渲染/預覽/更新介面更新位置和介面元素的大小。減少由 UILayout 管理的介面元素的尺寸或位置,例如 Class.UILayout 的管理。
心跳/TweenService在服務伺服器上,使用 TweenService 來擴展物件。 在客戶端上,這是在預覽步驟中完成的。使 TweenService 減少所擁有的物件數量。