Tham chiếu thẻ

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Dưới đây là danh sách các thẻ phổ biến trong MicroProfiler, được nhóm theo danh mục. Các thẻ cũng được gọi thay thế là nhiệm vụ, bộ đếm thời gian, phạm vi, quy trình và nhãn. Dù tên gọi là gì, chúng đại diện cho một đơn vị công việc.

Hiểu các thẻ này có thể giúp bạn xác định mã gặp vấn đề trong trò chơi của bạn. Các bảng chứa nhãn thẻ, mô tả và lời khuyên để cải thiện hiệu suất và tối ưu hóa trò chơi của bạn.

Ngủ

Khi các luồng không thực hiện nhiệm vụ, chúng sẽ vào trạng thái ngủ, với các thẻ để chỉ ra thời gian mà luồng đã ngủ. Tại bất kỳ thời điểm nào, rất phổ biến cho hầu hết các luồng làm việc ở trong trạng thái ngủ.

Điều hướng

NhãnMô tảLời khuyên về hiệu suất
rasterizeTileCập nhật các ô điều hướng cần thiết cho một yêu cầu tìm đường, thường được theo sau bởi computePath mà yêu cầu các ô đó phải được cập nhật. Theo sau NavigationJob/preprocess trên luồng chính.Giảm số lượng các ô tìm đường bị vô hiệu hóa, vì điều này khiến các đường đi đó cần phải được tính toán lại. Điều này xảy ra do các phần không thể điều hướng di chuyển.
computePathTính toán các đường đi, thường là sau rasterizeTile.Giảm số lượng và phạm vi thế giới của các cuộc gọi Path:ComputeAsync(). Cố gắng tái sử dụng các đường đi cho nhiều tác nhân nếu họ dự kiến bắt đầu/kết thúc từ các vị trí tương tự.
preprocess/getPrimitivesOverlappingThu thập hình học thế giới cho mỗi ô tìm đường và lên lịch các nhiệm vụ raster hóa để được thực hiện bởi luồng tìm đường.Giảm số lượng các phần.

Hoạt hình và người

NhãnMô tảLời khuyên về hiệu suất
Simulation/gameSteppedXử lý các đối tượng cụ thể của trò chơi như Humanoids, Animations và các callback nhịp tim.Xem các nhãn gameStepped bên dưới.
Simulation/gameStepped/stepHumanoidThay đổi trạng thái và chuyển động của Humanoid.Giảm số lượng Humanoids hoặc vô hiệu hóa các trạng thái Humanoid trên các NPC không cần chúng, chẳng hạn như Climbing hoặc Swimming. Giảm số lượng callback đến Humanoid.StateChanged hoặc các thay đổi trạng thái như Running hoặc Died.
Simulation/gameStepped/stepAnimationAnimators sẽ tiến lên trong các hoạt hình đang phát.Giảm số lượng Animators hoặc các khớp hoạt hình để giảm tải công việc của bước này. Giảm số lượng callback đến các sự kiện hoạt hình như AnimationTrack.KeyframeReached hoặc AnimationTrack.Ended.
Simulation/gameStepped/RunService.SteppedChạy các hàm kết nối với sự kiện RunService.Stepped.Giảm số lượng hoặc tải công việc của các hàm kết nối với sự kiện này. Cân nhắc trì hoãn hoặc thay thế các tính toán tốn kém hoặc phân bổ tính toán qua nhiều khung hình.

Âm thanh

NhãnMô tảLời khuyên về hiệu suất
SoundXử lý mô phỏng âm thanh và cập nhật âm thanh trong phát lại hoạt động.Xem các nhãn Sound bên dưới.
Sound/stepInstancesCập nhật âm lượng của các âm thanh đang hoạt động trong không gian làm việc.Giảm số lượng âm thanh trong phát lại hoạt động.

Mạng

NhãnMô tảLời khuyên về hiệu suất
Net PacketReceiveNhận các gói mạng. Nếu nhiều đối tượng hoặc sự kiện đang được sao chép, bước này sẽ mất nhiều thời gian hơn.Sao chép ít đối tượng hoặc sự kiện hơn.
Replicator/ProcessPacketsXử lý nội dung của các gói mạng, chẳng hạn như chuyển động, gọi sự kiện và thay đổi thuộc tính.Giảm số lượng hoặc kích thước của các đối tượng đang được sao chép, hoặc thực hiện điều này theo từng bước gia tăng. Có thể tăng nếu kích thước bản đồ tăng, vì các bản đồ lớn hơn thường có nhiều hoạt động tổng thể hơn.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersGửi dữ liệu về hoạt động trong trò chơi.Giảm số lượng đối tượng di chuyển và/hoặc chạm. Xem các phần tiếp theo.
Allocate Bandwidth and Run Senders/Dispatch StreamJobGửi các vùng cụ thể tương ứng đến các khách hàng cụ thể trong tính năng phát trực tuyến.Giảm bán kính phát trực tuyến tối thiểu và mục tiêu.
Allocate Bandwidth and Run Senders/Dispatch Data SendersGửi các thay đổi thuộc tính, gọi sự kiện từ xa, thay đổi trạng thái Humanoid, thay đổi trạng thái hoạt hình và sao chép các thể hiện mới.Giảm số lượng các thay đổi được sao chép đến mô hình dữ liệu.
Replicator SendClusterGửi dữ liệu Terrain đến các khách hàng.Giảm số lượng hoặc kích thước của các thay đổi địa hình.
ModelCompleteness Mega JobChỉ dành cho máy chủ: độ hoàn chỉnh là một khái niệm nội bộ. Khi các mô hình được gửi hoàn toàn, các sự kiện độ hoàn chỉnh của mô hình được gửi.Thêm hoặc xóa ít thể hiện hơn.
deserializePacketXử lý gói mạng ở mức thấp. Chuẩn bị cho Replicator/ProcessPackets.Gửi ít hoặc các cập nhật nhỏ hơn.

Kết xuất

NhãnMô tảLời khuyên về hiệu suất
PrepareThông tin được thu thập từ luồng chính và cập nhật các cấu trúc dữ liệu khác nhau được sử dụng cho việc kết xuất.Xem các nhãn Prepare bên dưới.
Prepare/Pass3dAdornXử lý việc kết xuất các đồ trang trí đối tượng khác nhau, chẳng hạn như nhãn văn bản trên các đối tượng. Đối với các nhãn Humanoid có che khuất, bước này bao gồm việc raycasting để xác định xem các đối tượng đó có thể nhìn thấy hay không. Điều này bao gồm các phần không trong suốt để tạo điều kiện cho việc trực quan hóa gỡ lỗi.Giảm số lượng các đối tượng trang trí có thể nhìn thấy, chẳng hạn như BillboardGuis, nhãn tên/sức khỏe Humanoid, v.v. Giảm số lượng các phần có thể nhìn thấy.
Prepare/Pass2dChuẩn bị cho việc kết xuất UI 2D (cả UI của người chơi và Roblox).Giảm số lượng hoặc độ phức tạp của các phần tử UI.
Prepare/UpdatePrepare/updateInvalidPartsCập nhật các phần đã có một thuộc tính thay đổi hoặc được thêm vào.Giảm số lượng thay đổi thuộc tính trên thế giới. Nếu một kịch bản cập nhật một tập hợp lớn các thuộc tính đối tượng, hãy chia nhỏ nó qua các khung hình.
Prepare/UpdatePrepare/updateInvalidatedFastClustersChuẩn bị các hình học "FastCluster" được sử dụng để kết xuất Humanoids và MeshParts đã được skinned. Các nhãn chỉ định số lượng các phần, đỉnh và kích thước của các đỉnh.Giảm các thay đổi hình ảnh đối với các mô hình có Humanoids hoặc MeshParts đã được skinned.
Prepare/UpdatePrepare/updateDynamicPartsChuẩn bị Beams, ParticleEmitters, và Humanoids cho việc kết xuất.Giảm số lượng Beams, ParticleEmitters, và Humanoids có thể nhìn thấy.
Prepare/UpdatePrepare/updateInstancedClustersCập nhật hình học sử dụng kết xuất thể hiện như các phần. Các nhãn Clusters và Instances chỉ định số lượng đã được cập nhật.Giảm công việc mà ngầm cập nhật hộp bao quanh của phần, chẳng hạn như BasePart.CFrame, BasePart.Size, hoặc Motor6D.Transform. Các cập nhật thuộc tính sáng tạo như Bone.Transform có thể giúp.
PerformKhi các lệnh kết xuất thực tế được tạo ra và phát hành.Xem các nhãn Perform bên dưới.
Perform/fillGuiVerticesĐiền các bộ đệm với các đỉnh UI để chuẩn bị cho việc kết xuất. Nhãn gui count chỉ ra số lượng LayerCollectors có thể nhìn thấy trong khung hình.Nếu chi phí cao, giảm số lượng, mật độ và không gian mà các phần tử UI chiếm. Nếu có quá nhiều nhãn Process GuiEffect, hãy cân nhắc giảm việc sử dụng UIGradient và UICorner trên các nhãn văn bản.
Perform/Scene/queryFrustumOrderedÁp dụng culling frustum để các đối tượng không nhìn thấy không được kết xuất.Nếu có chi phí cao có nghĩa là có nhiều phần tử. Có thể sử dụng một số mesh lớn hơn nơi mà một mesh đơn có nhiều chi tiết hơn so với nhiều mảnh nhỏ riêng lẻ.
Perform/Scene/computeLightingPerformTính toán ánh sáng gần camera.Điều chỉnh số lượng nguồn sáng hoặc di chuyển camera ít hơn để giảm thời gian cần thiết để tính toán lại ánh sáng.
Perform/Scene/computeLightingPerform/LightGridCPUCập nhật ánh sáng voxel, được sử dụng ở các mức chất lượng thấp hơn.Nếu việc cập nhật độ chiếm chỗ của khối mất quá nhiều thời gian, hãy cân nhắc sử dụng hình học độ phân giải thấp hơn, giảm số lượng các phần, hoặc neo các phần. Nếu các nhãn khác mất quá nhiều thời gian, hãy cân nhắc giảm số lượng đèn và sử dụng hình học không đổ bóng cho các đối tượng di chuyển và làm vô hiệu hóa độ chiếm chỗ.
Perform/Scene/computeLightingPerform/ShadowMapSystemCập nhật bản đồ bóng. Không thực hiện ở các mức chất lượng dưới 4.Giảm số lượng đèn. Bạn cũng có thể sử dụng Light.Shadows và BasePart.CastShadow để vô hiệu hóa việc đổ bóng trên các thể hiện ít quan trọng hơn. Xem Cải thiện hiệu suất.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApplyKết xuất xử lý hậu kỳ.Giảm số lượng hiệu ứng xử lý hậu kỳ. Thông thường điều này không đáng kể.
Perform/Scene/UIKết xuất UI. Trong Id_Screen, có một nhãn với số lượng lô, vật liệu và tam giác được sử dụng.Giảm số lượng các phần tử UI có thể nhìn thấy. Sử dụng CanvasGroups có thể giúp nhưng sẽ tăng mức sử dụng bộ nhớ.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsCập nhật vị trí và giới hạn của các hạt.Giảm số lượng ParticleEmitters, tỷ lệ phát, thời gian sống, v.v. Giới hạn chuyển động của các bộ phát.
Scene/Id_Opaque, RenderView/Id_OpaqueCác phần trong cảnh có độ trong suốt tổng thể là 0.01 hoặc thấp hơn.Giảm việc sử dụng và mật độ của các phần.
Scene/Id_Transparent, RenderView/Id_TransparentCác phần trong cảnh có độ trong suốt tổng thể giữa 0.01 và 1.Giảm việc sử dụng độ trong suốt một phần.
Scene/Id_Decals, RenderView/Id_DecalsCác decal trong cảnh.Giảm việc sử dụng decal trên các mesh phức tạp.
Scene/ShadowsTính toán lại bóng trong cảnh, thường được thực hiện trên các cảnh động và gameplay điển hình. Các phần bất kể độ trong suốt đều đổ bóng với giả định rằng chúng chứa decal. Không thực hiện ở các mức chất lượng dưới 4.Nếu bước này mất quá nhiều thời gian, hãy cân nhắc vô hiệu hóa BasePart.CastShadow cho các mesh phức tạp, các phần có độ trong suốt một phần cao, và các thể hiện ít quan trọng hơn. Các phần hoàn toàn trong suốt không có decal hoặc không cần bóng decal nên có BasePart.CastShadow vô hiệu hóa. Xem Cải thiện hiệu suất.
Perform/PresentChuyển tiếp đến luồng GPU để thực hiện các lệnh kết xuất.Giảm độ phức tạp của cảnh nói chung. Nếu bước này mất nhiều thời gian, bạn có thể bị giới hạn bởi GPU.
Perform/Present/waitUntilCompletedChờ GPU hoàn thành việc kết xuất khung hình trước đó.Nếu điều này thường xuyên xảy ra thì số lượng thứ được kết xuất là quá cao. Trình quản lý Tốc độ Khung hình giúp cân bằng điều này, nhưng nếu nó vẫn cao, hãy thử làm theo lời khuyên về hiệu suất từ các thẻ Scene riêng lẻ.
LoadImageXử lý hình ảnh thành định dạng mà engine có thể sử dụng.Giảm việc sử dụng hình ảnh lớn.

Kịch bản

NhãnMô tảLời khuyên về hiệu suất
Render/PreRender/fireBindToRenderSteppedCallbacksChạy các hàm được liên kết với bước kết xuất qua RunService:BindToRenderStep().Đảm bảo các hàm kết nối với sự kiện này thực hiện ít công việc nhất có thể.
Render/PreRender/RunService.RenderSteppedChạy các hàm kết nối với sự kiện RunService.RenderStepped.Đảm bảo các hàm kết nối với sự kiện này thực hiện ít công việc nhất có thể.
WaitingHybridScriptJobTiếp tục các kịch bản đang chờ sử dụng Instance:WaitForChild() hoặc Globals.Roblox.wait(). Thường được thực hiện 30 lần mỗi giây. Bước này có một ngân sách thời gian thực thi để chạy các kịch bản đang chờ.Nếu bạn có quá nhiều kịch bản đang chờ hoặc các kịch bản có thời gian chạy dài trước khi nhường, bước này sẽ bị giới hạn và chờ lâu hơn trước khi có thể chạy lại. Giảm số lượng các hàm liên kết hoặc các tính toán dài trong bước này.
GCChu kỳ thu gom rác của Luau.Pool các bảng và các đối tượng có thể thu gom khác hoặc cố gắng giảm việc tạo các bảng tạm thời.
Heartbeat/RunService.HeartbeatChạy các hàm kết nối với sự kiện RunService.Heartbeat.Giảm số lượng hoặc tải công việc của các hàm kết nối với sự kiện này. Cân nhắc trì hoãn hoặc thay thế các tính toán tốn kém hoặc phân bổ tính toán qua nhiều khung hình.

Mô phỏng

NhãnMô tảLời khuyên về hiệu suất
Distributed Physics OwnershipXác định xem máy chủ hay một khách hàng có quyền kiểm soát một số thể hiện nhất định như các phần hay không.Giảm số lượng các phần thường xuyên chuyển đổi quyền sở hữu mạng, đặc biệt là những phần có tương tác chung.
Simulation/assembleCập nhật một cây các đối tượng kết nối (các lắp ráp) được sử dụng bởi engine vật lý.Giảm số lượng các khớp được tạo ra hoặc bị phá hủy.
Simulation/physicsSteppedTotal/physicsSteppedChạy mô phỏng vật lý.Giảm số lượng và độ phức tạp của các cơ thể được mô phỏng vật lý.
Simulation/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepCập nhật các hòn đảo mô phỏng, sắp xếp các phần theo quyền sở hữu mạng, mô phỏng cục bộ. Các hòn đảo là các nhóm phần không tương tác có thể được mô phỏng độc lập.Tránh thiết lập quyền sở hữu mạng thường xuyên. Giữ các nhóm phần cách xa nhau đủ để chúng có thể được mô phỏng riêng biệt.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepContactsCập nhật các tiếp xúc giữa các đối tượng.Giảm số lượng các cơ thể va chạm cùng một lúc, hoặc sử dụng các hộp va chạm đơn giản hơn. Hình khối tốt hơn so với các mesh phức tạp.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepWorld HOẶC stepWorldThrottledGiải quyết các phương trình vật lý liên quan đến các kết nối, độ nổi và Humanoids. Khi engine bị quá tải và không thể mô phỏng mọi thứ theo thời gian thực, một số bước có thể bị giới hạn (stepWorldThrottled) và chỉ "các lắp ráp theo thời gian thực" như Humanoids được mô phỏng.Phụ thuộc vào nơi thời gian đang trôi qua dựa trên ba giai đoạn sau: stepContacts: kiểm tra hình học phát hiện va chạm giai đoạn hẹp. Solver step: tích hợp thời gian và giải quyết va chạm và các ràng buộc khác updateBroadphase: cập nhật vị trí của các lắp ráp trong hệ thống phát hiện va chạm và tìm các cặp giai đoạn hẹp có thể va chạm.
notifyMovingAssembliesGiúp theo dõi thời gian mà các phần tử đã ngủ.
Simulation/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesNội suy các lắp ráp không được điều khiển bởi người chơi hiện tại.Đặt chủ sở hữu mạng của các phần thành người chơi hiện tại để giảm điều này; mặc dù điều này thường sẽ gây ra nhiều công việc vật lý hơn được thực hiện ở nơi khác.
Simulation/handleFallenPartsXóa các phần đã rơi xuống dưới Workspace.FallenPartsDestroyHeight.Giảm chiều cao phá hủy hoặc giảm số lượng các phần rơi xuống chiều cao phá hủy.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingPhần thứ hai của notifyMovingAssemblies.
Heartbeat/RunService.HeartbeatChạy các hàm kết nối với sự kiện RunService.Heartbeat đến các tiếp xúc mô phỏng và kịch bản. Mô tả hiện tại đủ chung để không sai.Giảm số lượng hoặc tải công việc của các hàm kết nối với RunService.Heartbeat.
worldStep/stepContactsGiúp mô phỏng vật lý bước nhiều tiếp xúc cùng một lúc.Giảm số lượng các đối tượng va chạm.
SolveBatchGiúp mô phỏng vật lý giải quyết các lô chuyển động của các đối tượng.

UI

NhãnMô tảLời khuyên về hiệu suất
Render/PreRender/UpdateInputCập nhật và kích hoạt tất cả các sự kiện liên quan đến đầu vào của người dùng nếu người dùng đã thực hiện đầu vào kể từ khung hình trước.Cố gắng không thực hiện quá nhiều công việc trực tiếp khi bạn nhận được đầu vào. Cân nhắc thực hiện một lượng tối thiểu xử lý cho đầu vào, và các tính toán lớn hơn nên được đẩy sang một luồng khác xảy ra sau đó.
Render/PreRender/TweenServiceCập nhật các đối tượng đang được tweened sử dụng TweenService và gọi các callback hoàn thành, chẳng hạn như những cái được cung cấp cho GuiObject:TweenSize() hoặc GuiObject:TweenPosition().Giảm số lượng các đối tượng đang được tweened sử dụng TweenService và đảm bảo các callback thực hiện ít công việc nhất có thể.
Heartbeat/TweenServiceTrong máy chủ, TweenService chạy trong RunService.Heartbeat thay vì RunService.PreRender.Giảm số lượng các đối tượng đang được tweened sử dụng TweenService và đảm bảo các callback thực hiện ít công việc nhất có thể.
Render/PreRender/UpdateUILayoutsCập nhật vị trí và kích thước cho các phần tử UI trên tất cả các LayerCollectors được bật.Xem các nhãn UpdateUILayouts bên dưới.
Render/PreRender/UpdateUILayouts/Rebuild Z-order listXây dựng lại danh sách thứ tự Z nội bộ của các phần tử UI (không nên nhầm lẫn với GuiObject.ZIndex) trong một LayerCollector khi kết xuất lần đầu hoặc khi một phần tử mới được thêm vào, xóa đi, hoặc có GuiObject.ZIndex của nó thay đổi.Giảm số lượng các phần tử UI trong LayerCollectors trước khi kết xuất lần đầu và tránh thay đổi thường xuyên cha mẹ và GuiObject.ZIndex của các phần tử UI bên trong chúng. Số lượng phần tử mà một LayerCollector có, hiệu suất sẽ càng kém.
Render/PreRender/UpdateUILayouts/Layout

Cập nhật vị trí và kích thước cho các phần tử UI trong một LayerCollector riêng lẻ. Có thể chứa một nhãn với thông tin về UI liên quan, cùng với số lượng Relayouts, Updates và Resizes.

Giảm số lượng các phần tử UI đang được thay đổi kích thước hoặc định vị lại, chẳng hạn như những cái được quản lý bởi UILayout và những cái được tweened với TweenService, GuiObject:TweenSize(), hoặc GuiObject:TweenPosition(). Cân nhắc sử dụng kích thước cố định cho BillboardGuis.
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.