태그 참조

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

다음은 MicroProfiler에서 카테고리별로 그룹화된 일반 태그 목록입니다. 태그는 작업, 타이머, 스코프, 프로세스 및 레이블이라고도 불립니다. 이름에 관계없이, 이들은 작업 단위를 나타냅니다.

이러한 태그를 이해하면 게임 내 문제 코드 식별에 도움이 될 수 있습니다. 표에는 태그 레이블, 설명 및 성능 개선 및 게임 최적화를 위한 조언이 포함되어 있습니다.

수면

스레드가 활동적으로 작업을 수행하지 않을 때, 스레드는 수면 상태로 들어가며 스레드가 얼마나 오랫동안 수면 상태에 있었는지를 나타내는 태그가 있습니다. 특정 시간에 대부분의 작업자 스레드가 수면 상태에 있는 것은 매우 일반적입니다.

내비게이션

레이블설명성능 조언
rasterizeTile경로 찾기 요청에 필요한 내비게이션 타일을 업데이트합니다. 보통은 해당 타일이 최신 상태여야 하는 computePath가 뒤따릅니다. 메인 스레드에서 NavigationJob/preprocess를 따릅니다.경로 찾기 타일 무효화를 줄이십시오. 이는 이동하는 비내비게이션 부분으로 인해 발생합니다.
computePath경로를 계산합니다. 일반적으로 rasterizeTile 이후에 실행됩니다.Path:ComputeAsync() 호출의 수와 월드 범위를 줄이십시오. 유사한 위치에서 시작/종료할 것으로 예상되는 경우 여러 에이전트에 대해 경로를 재사용하려고 하십시오.
preprocess/getPrimitivesOverlapping각 경로 찾기 타일에 대한 세계 기하학을 수집하고 내비게이션 스레드에서 실행할 레스터화 작업을 예약합니다.부분 수를 줄이십시오.

애니메이션 및 휴머노이드

레이블설명성능 조언
Simulation/gameSteppedHumanoids, Animations 및 심장 박동 콜백과 같은 게임 특정 개체의 처리를 나타냅니다.아래 gameStepped 레이블을 참조하십시오.
Simulation/gameStepped/stepHumanoidHumanoid 상태 변경 및 이동을 나타냅니다.필요하지 않은 NPC에 대해 Humanoid 상태를 비활성화하거나 Humanoids 수를 줄이십시오. Climbing 또는 Swimming과 같은 상태를 줄이고, Humanoid.StateChanged로의 콜백 수를 줄이거나 Running 또는 Died와 같은 상태 변경을 줄이십시오.
Simulation/gameStepped/stepAnimationAnimators가 현재 재생 중인 애니메이션에서 전진합니다.Animators의 수나 애니메이션이 적용된 관절의 수를 줄여 이 단계의 작업 부하를 줄이십시오. AnimationTrack.KeyframeReached 또는 AnimationTrack.Ended와 같은 애니메이션 이벤트에 대한 콜백 수를 줄이십시오.
Simulation/gameStepped/RunService.SteppedRunService.Stepped 이벤트에 연결된 함수를 실행합니다.이 이벤트에 연결된 함수의 수나 작업 부하를 줄이십시오. 비용이 많이 드는 계산은 지연시키거나 교체하고, 여러 프레임에 걸쳐 계산을 분산시키는 것을 고려하십시오.

오디오

레이블설명성능 조언
Sound음향 시뮬레이션을 처리하고 활성 재생 중인 사운드를 업데이트합니다.아래 Sound 레이블을 참조하십시오.
Sound/stepInstances작업 공간에서 활성 사운드의 볼륨을 업데이트합니다.활성 재생 중인 사운드 수를 줄이십시오.

네트워킹

레이블설명성능 조언
Net PacketReceive네트워크 패킷을 수신합니다. 많은 개체나 이벤트가 복제되는 경우 이 단계는 더 오래 걸립니다.복제하는 개체나 이벤트 수를 줄이십시오.
Replicator/ProcessPackets모션, 이벤트 호출 및 속성 변경과 같은 네트워크 패킷의 내용을 처리합니다.복제되는 개체의 수나 크기를 줄이거나 점진적으로 수행하십시오. 맵 크기가 커지면 증가할 수 있으며, 더 큰 맵은 전체적인 활동이 더 많습니다.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSenders게임 내 활동에 대한 데이터를 전송합니다.움직이는 개체 및/또는 터치 수를 줄이십시오. 다음 섹션을 참조하십시오.
Allocate Bandwidth and Run Senders/Dispatch StreamJob스트리밍 기능에서 특정 클라이언트에 특정 영역을 전송합니다.최소 및 목표 스트리밍 반경을 줄이십시오.
Allocate Bandwidth and Run Senders/Dispatch Data Senders속성 변경, 원격 이벤트 호출, Humanoid 상태 변경, 애니메이션 상태 변경 및 새로운 인스턴스의 복제를 전송합니다.데이터 모델에 대한 복제 변경 수를 줄이십시오.
Replicator SendCluster클라이언트에 Terrain 데이터를 전송합니다.지형 변경의 양이나 크기를 줄이십시오.
ModelCompleteness Mega Job서버 전용: 완전성은 내부 개념입니다. 모델이 완전히 전송되면 모델 완전성 이벤트가 전송됩니다.인스턴스를 추가하거나 제거하는 수를 줄이십시오.
deserializePacket저수준 네트워크 패킷 처리. Replicator/ProcessPackets에 대한 준비 작업입니다.덜 복잡하거나 적은 업데이트를 전송하십시오.

렌더링

레이블설명성능 조언
Prepare메인 스레드에서 정보를 수집하고 렌더링에 사용되는 여러 데이터 구조를 업데이트합니다.아래 Prepare 레이블을 참조하십시오.
Prepare/Pass3dAdorn객체 위의 텍스트 레이블과 같은 다양한 객체 장식을 렌더링합니다. Humanoid 레이블의 경우 가림현상이 있어서 이러한 객체가 보이는지 결정하기 위해 레이캐스팅을 포함합니다. 이는 디버그 시각화를 용이하게 하기 위해 비투명한 부분을 포함합니다.보이는 장식된 객체 수를 줄이십시오. 예를 들면, BillboardGuis, Humanoid 이름/건강 레이블 등입니다. 보이는 부분의 수를 줄이십시오.
Prepare/Pass2d2D UI 렌더링을 준비합니다 (플레이어 UI 및 Roblox UI 모두).UI 요소의 양 또는 복잡성을 줄이십시오.
Prepare/UpdatePrepare/updateInvalidParts속성이 변경되거나 추가된 부분을 업데이트합니다.세계에서 속성 변경의 양을 줄이십시오. 스크립트가 개체 속성의 큰 집합을 업데이트하면 여러 프레임에 걸쳐 나누어 수행하십시오.
Prepare/UpdatePrepare/updateInvalidatedFastClustersHumanoids스킨 MeshParts 렌더링에 사용되는 "FastCluster" 기하학을 준비합니다. 레이블은 업데이트된 부분, 정점 및 정점 크기를 지정합니다.Humanoids 또는 스킨을 입힌 MeshParts 모델에 대한 시각적 변경을 줄이십시오.
Prepare/UpdatePrepare/updateDynamicPartsBeams, ParticleEmitters, 및 Humanoids를 렌더링할 준비를 합니다.보이는 Beams, ParticleEmitters, 및 Humanoids의 수를 줄이십시오.
Prepare/UpdatePrepare/updateInstancedClusters인스턴스 렌더링을 사용하는 기하학을 업데이트합니다. 레이블 ClustersInstances는 업데이트된 수를 나타냅니다.부분의 바운딩 박스를 암시적으로 업데이트하는 작업을 줄이십시오. 예: BasePart.CFrame, BasePart.Size, 또는 Motor6D.Transform. 창의적인 속성 업데이트인 Bone.Transform가 도움이 될 수 있습니다.
Perform실제 렌더링 명령이 생성되고 발행됩니다.아래 Perform 레이블을 참조하십시오.
Perform/fillGuiVertices렌더링을 준비하기 위해 UI 정점으로 버퍼를 채웁니다. gui count 레이블은 프레임에서 보이는 LayerCollectors의 양을 나타냅니다.비용이 높은 경우, UI 요소의 양, 밀도 및 차지를 줄이십시오. 너무 많은 Process GuiEffect 레이블이 있는 경우 UIGradientUICorner 사용을 줄이는 것을 고려하십시오.
Perform/Scene/queryFrustumOrdered프러스텀 컬링을 적용하여 보이지 않는 객체는 렌더링되지 않도록 합니다.비용이 높다면 요소가 너무 많다는 뜻입니다. 하나의 메시가 많은 다양한 세부사항을 가진 경우 더 큰 메시를 사용하는 것을 고려하십시오.
Perform/Scene/computeLightingPerform카메라 근처의 조명 계산을 수행합니다.조명 원의 수를 조작하거나 카메라를 덜 이동시켜 조명 재계산에 걸리는 시간을 줄이십시오.
Perform/Scene/computeLightingPerform/LightGridCPU더 낮은 품질 수준에서 사용되는 복셀 조명을 업데이트합니다.청크 점유 업데이트에 너무 오랜 시간이 걸리면 저해상도 기하학을 사용하거나 부분 수를 줄이거나 부분을 고정할 것을 고려하십시오. 다른 레이블이 너무 오래 걸린다면 조명의 수를 줄이고, 점유를 무효화하는 움직이는 객체에 대해 그림자 생성하지 않는 기하학을 사용하는 것을 고려하십시오.
Perform/Scene/computeLightingPerform/ShadowMapSystem섀도우 맵을 업데이트합니다. 품질 수준 4 미만에서는 수행되지 않습니다.조명의 수를 줄이십시오. 중요도가 낮은 인스턴스에 대한 그림자 생성을 비활성화하려면 Light.ShadowsBasePart.CastShadow를 사용할 수도 있습니다. 성능 개선을 참조하십시오.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApply후처리 렌더링입니다.후처리 효과의 수를 줄이십시오. 일반적으로 이는 큰 의미가 없습니다.
Perform/Scene/UIUI 렌더링입니다. Id_Screen에서 사용된 배치, 자재 및 삼각형 수의 레이블이 있습니다.보이는 UI 요소 수를 줄이십시오. CanvasGroups를 사용하면 도움이 될 수 있지만 메모리 사용량이 증가할 수 있습니다.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundings입자 위치와 경계를 업데이트합니다.ParticleEmitters, 방출 비율, 수명 등을 줄이십시오. 방출기 이동을 제한하십시오.
Scene/Id_Opaque, RenderView/Id_Opaque전반적인 투명도가 0.01 이하인 장면의 부분입니다.부분의 사용 및 밀도를 줄이십시오.
Scene/Id_Transparent, RenderView/Id_Transparent전반적인 투명도가 0.011 사이인 장면의 부분입니다.부분 투명도 사용을 줄이십시오.
Scene/Id_Decals, RenderView/Id_Decals장면에 있는 데칼들입니다.복잡한 메시에서 데칼 사용을 줄이십시오.
Scene/Shadows장면에서 그림자가 재계산되는 것으로, 일반적으로 동적 장면 및 일반적인 게임 플레이에서 수행됩니다. 투명도에 관계없이 부분이 그림자를 생성합니다. 품질 수준 4 미만에서는 수행되지 않습니다.이 단계가 너무 오래 걸리면 복잡한 메시, 부분적으로 높은 투명도의 부분 및 중요도가 낮은 인스턴스에 대해 BasePart.CastShadow를 비활성화하십시오. 데칼이 없거나 데칼 그림자가 필요하지 않은 완전 투명한 부분은 BasePart.CastShadow를 비활성화해야 합니다. 성능 개선을 참조하십시오.
Perform/Present렌더링 명령을 수행하기 위해 GPU 스레드로 전달합니다.일반적으로 장면 복잡성을 줄이십시오. 이 단계가 긴 시간을 소요하면 GPU에 의해 제한될 수 있습니다.
Perform/Present/waitUntilCompletedGPU가 이전 프레임의 렌더링을 마칠 때까지 기다립니다.이것이 일반적으로 자주 발생한다면, 렌더링되는 것의 양이 너무 많습니다. 프레임 속도 관리자가 균형을 맞추는 데 도움이 되지만 여전히 높다면, 개별 Scene 태그의 성능 조언을 따르십시오.
LoadImage이미지를 엔진이 사용할 수 있는 형식으로 처리합니다.큰 이미지 사용을 줄이십시오.

스크립트

레이블설명성능 조언
Render/PreRender/fireBindToRenderSteppedCallbacksRunService:BindToRenderStep()를 통해 렌더 단계에 바인딩된 함수를 실행합니다.이 이벤트에 연결된 함수는 가능한 한 적게 작업을 수행해야 합니다.
Render/PreRender/RunService.RenderSteppedRunService.RenderStepped 이벤트에 연결된 함수를 실행합니다.이 이벤트에 연결된 함수는 가능한 한 적게 작업을 수행해야 합니다.
WaitingHybridScriptJobInstance:WaitForChild() 또는 Globals.Roblox.wait()를 사용하여 대기 중인 스크립트를 재개합니다. 일반적으로 초당 30회 수행됩니다. 이 단계에는 대기 중인 스크립트를 실행하기 위한 실행 시간 예산이 있습니다.대기 중인 스크립트나 Yield 전에 실행 시간이 긴 스크립트가 너무 많으면, 이 단계는 제한되고 다시 실행되기까지 오랜 시간이 걸립니다. 이 단계에서 바인딩된 함수나 긴 계산의 수를 줄이십시오.
GCLuau의 가비지 수집 사이클입니다.풀 테이블 및 기타 수집 가능한 객체를 사용하거나 임시 테이블 생성을 줄여보십시오.
Heartbeat/RunService.HeartbeatRunService.Heartbeat 이벤트에 연결된 함수를 실행합니다.이 이벤트에 연결된 함수의 수나 작업 부하를 줄이십시오. 비용이 많이 드는 계산을 지연시키거나 교체하고, 여러 프레임으로 계산을 분산시키는 것을 고려하십시오.

시뮬레이션

레이블설명성능 조언
Distributed Physics Ownership서버 또는 클라이언트가 특정 인스턴스(예: 부분)에 대한 권한을 가지고 있는지를 결정합니다.네트워크 소유권을 자주 전환하는 부분의 수를 줄이십시오. 특히 일반 상호 작용이 존재하는 부분이 그렇습니다.
Simulation/assemble물리 엔진에서 사용되는 연결된 객체(어셈블리)의 트리를 업데이트합니다.생성되거나 파괴되는 조인트의 수를 줄이십시오.
Simulation/physicsSteppedTotal/physicsStepped물리 시뮬레이션을 실행합니다.물리적으로 시뮬레이션된 객체의 수와 복잡성을 줄이십시오.
Simulation/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStep네트워크 소유권 및 지역 시뮬레이션에 따라 부품을 배치하여 시뮬레이션 섬을 업데이트합니다. 섬은 독립적으로 시뮬레이션 할 수 있는 비 상호작용 그룹의 부분입니다.네트워크 소유권을 자주 설정하지 마십시오. 부품 그룹을 서로 멀리 떨어뜨려 독립적으로 시뮬레이션할 수 있도록 하십시오.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepContacts객체 간의 접촉을 업데이트합니다.한 번에 충돌하는 물체의 수를 줄이거나 더 간단한 충돌 상자를 사용하십시오. 입방체가 복잡한 메시보다 좋습니다.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepWorld OR stepWorldThrottled연결기, 부력 및 Humanoids와 관련된 물리 방정식을 해결합니다. 엔진이 과부하되어 모든 것을 실시간으로 시뮬레이션할 수 없는 경우, 일부 단계를 제한하고 (stepWorldThrottled) "실시간 어셈블리"만 시뮬레이션됩니다.시간이 어디로 가는지에 따라 세 가지 단계에 따라 다릅니다: stepContacts: 좁은 단계 충돌 감지 기하학 테스트. Solver step: 통합 시간 및 충돌 및 기타 제약 해결 updateBroadphase: 충돌 감지 시스템에서 어셈블리의 위치를 업데이트하고 좁은 단계 쌍을 찾습니다.
notifyMovingAssemblies프리미티브가 얼마나 오랫동안 수면 상태에 있었는지를 추적하는 데 도움을 줍니다.
Simulation/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssemblies현재 플레이어가 제어하지 않는 어셈블리를 보간합니다.이것을 줄이려면 부품의 네트워크 소유자를 현재 플레이어로 설정하십시오. 그러나 일반적으로 이로 인해 다른 곳에서 더 많은 물리 작업이 수행될 수 있습니다.
Simulation/handleFallenPartsWorkspace.FallenPartsDestroyHeight 이하로 떨어진 부분을 제거합니다.파괴 높이를 낮추거나 파괴 높이로 떨어지는 부분의 수를 줄이십시오.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingnotifyMovingAssemblies의 두 번째 부분입니다.
Heartbeat/RunService.Heartbeat시뮬레이션 및 스크립트 접촉에 대해 RunService.Heartbeat 이벤트에 연결된 함수를 실행합니다. 현재 설명은 일반적이어서 틀리지 않습니다.RunService.Heartbeat에 연결된 함수의 수나 작업 부하를 줄이십시오.
worldStep/stepContacts물리 시뮬레이션 단계에서 많은 접촉을 한 번에 처리하는 데 도움을 줍니다.충돌하는 객체 수를 줄이십시오.
SolveBatch물체의 운동 배치 해결을 돕습니다.

UI

레이블설명성능 조언
Render/PreRender/UpdateInput사용자가 마지막 프레임 이후 입력을 수행한 경우 모든 사용자 입력 관련 이벤트를 업데이트 및 실행합니다.입력을 받을 때 직접적으로 너무 많은 작업을 하지 않도록 하십시오. 입력 처리의 최소량을 수행하고 더 큰 계산은 나중에 발생하는 다른 스레드로 미룰 것을 고려하십시오.
Render/PreRender/TweenServiceTweenService를 사용하여 애니메이션 처리 객체를 업데이트하고 GuiObject:TweenSize() 또는 GuiObject:TweenPosition()와 같이 제공된completion 콜백을 호출합니다.TweenService를 사용하여 애니메이션 처리 중인 객체 수를 줄이고 콜백이 가능한 한 적은 작업을 수행하도록 하십시오.
Heartbeat/TweenService서버에서 TweenServiceRunService.Heartbeat에서 실행되며 RunService.PreRender에서는 실행되지 않습니다.TweenService를 사용하여 애니메이션 처리 중인 객체 수를 줄이고 콜백이 가능한 한 적은 작업을 수행하도록 하십시오.
Render/PreRender/UpdateUILayouts모든 활성화된 LayerCollectors의 UI 요소에 대한 위치와 크기를 업데이트합니다.아래 UpdateUILayouts 레이블을 참조하십시오.
Render/PreRender/UpdateUILayouts/Rebuild Z-order listUI 요소의 Z-순서를 정렬하여 UI 요소의 찢어짐을 방지합니다 (내부 용어로 GuiObject.ZIndex와 혼동하면 안 됩니다).같은 GuiObject.ZIndex를 가진 UI 요소의 수를 줄이십시오.
Render/PreRender/UpdateUILayouts/Layout

개별 LayerCollector의 UI 요소에 대한 위치와 크기를 업데이트합니다. 관련 UI에 대한 정보와 함께 리레이아웃, 업데이트 및 리사이즈 수에 대한 레이블을 포함할 수 있습니다.

UILayout에 의해 관리되는 애니메이션 처리 중인 UI 요소(예: TweenService, GuiObject:TweenSize(), 또는 GuiObject:TweenPosition())의 크기를 줄이거나 재배치하십시오. BillboardGuis에 대해 고정 크기를 사용하는 것을 고려하십시오.
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.