태그 참조

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

다음은 MicroProfiler의 일반 태그 목록으로, 카테고리별로 그룹화되어 있습니다.이러한 태그를 이해하면 경험에서 문제가 되는 코드를 식별하는 데 도움이 될 수 있습니다.테이블에는 성능 향상 및 경험 최적화를 위한 태그 레이블, 설명 및 성능 조언이 포함되어 있습니다.

수면

스레드가 작업을 수행하지 않을 때, 스레드가 얼마나 오랫동안 잠들었는지를 나타내는 태그와 함께 수면 상태에 들어갑니다.어느 시점에서든 대부분의 작업자 스레드가 수면 상태에 있는 것이 매우 일반적입니다.

AI/내비게이션

레이블설명성능 조언
타일 레이스터화 rasterizeTile경로 찾기 요청에 필요한 업데이트 탐색 타일, 일반적으로 computePath에 따라 해당 타일이 최신 상태여야 합니다.메인 스레드에서 네비게이션 작업/프리프로세스를 따릅니다.경로 찾기 타일 무효화의 수가 줄어들면 경로가 재계산해야 하기 때문입니다. 이는 이동하지 않는 부품 때문입니다.
컴퓨트경로

경로를 계산하며, 일반적으로 rasterizeTile 이후에 계산됩니다.

ComputePath 호출의 수와 세계 범위를 줄입니다.대략 비슷한 위치에서 시작/종료할 것으로 예상되는 여러 에이전트에 경로를 재사용하려고 시도하십시오.
미리 처리/getPrimitivesOverlapping각 경로 찾기 타일에 대한 세계 기하학을 수집하고 경로 찾기 스레드에서 실행할 렌더링 작업을 일정에 추가합니다.부품 수를 줄입니다.

애니메이션

레이블설명성능 조언
시뮬레이션/게임Stepped게임 특정 개체의 처리, 예를 들어 Humanoids 및 심장 비트 콜백
시뮬레이션/게임스텝/스텝레거시Humanoid 상태 변경 및 movement.Called 서버에 이제 스텝 휴머노이드(병렬 버전)NPC에 있는 경우 Humanoid 상태를 비활성화하거나 줄이십시오.사다리 상태는 비활성화하기에 가장 중요합니다.Humanoid.Died 또는 Humanoid.Running와 같은 상태 변경에 대한 콜백 줄이기
시뮬레이션/게임Stepped/스텝애니메이션Animators 는 현재 재생 중인 애니메이션에서 전진할 것입니다.Animators 또는 애니메이션 조인의 양을 줄여 이 단계의 작업 부하를 낮춥니다.AnimationTrack.KeyframeReached 또는 AnimationTrack.Ended와 같은 애니메이션 이벤트의 콜백 수 줄이기
시뮬레이션/게임Stepped/RunService.SteppedRunService.Stepped 이벤트에 연결된 함수를 실행합니다.이 이벤트에 연결된 함수의 수나 부하를 줄입니다.비용이 많이 드는 계산을 지연하거나 교체하는 것을 고려하십시오.여러 프레임에서 계산을 분산하는 것을 고려하십시오.

오디오

레이블설명성능 조언
음향오디오 처리: 위치, 효과, 볼륨 등
개발자 태그_소리메모리 내 사운드: 일반적으로 메모리에 들어갈 수 있을 만큼 짧은 소리입니다. 일반적으로 짧은 샷 효과, 길지 않은 음악이 아닙니다.짧은 소리를 덜 사용합니다.
개발자 태그_스트리밍 사운드스트림/스트리밍 사운드: 디스크에서 스트리밍되는 더 큰 사운드입니다. 일반적으로 길이가 더 긴 음악 파일입니다.더 짧은 소리를 사용하십시오.

네트워킹

레이블설명성능 조언
넷 패킷 수신네트워크 패킷을 받습니다. 많은 개체나 이벤트가 복제되는 경우 이 단계가 더 오래 걸립니다.덜 많은 개체나 이벤트를 복제합니다.
리플리케이터/프로세스 패킷이동, 이벤트 호출 및 속성 변경과 같은 네트워크 패킷의 내용을 처리합니다.복제되는 개체의 수나 크기를 줄이거나 이를 점진적 단계로 수행합니다.더 큰 맵의 경우 전체 활동이 더 많아지는 경향이 있으므로 맵 크기가 증가하면 증가할 수 있습니다.
대역폭 할당 및 발신기/디스패치 물리 발신기 및 터치 발신기 실행경험의 활동에 대한 데이터를 보냅니다.이동 개체 및/또는 터치 수량 줄이기 참조 다음 섹션.
대역폭 할당 및 발신자/디스패치 스트림 작업 실행스트리밍 기능의 특정 클라이언트에 해당 특정 지역을 보냅니다.최소 및 대상 스트리밍 반경 줄이기.
대역폭 할당 및 발신자/전송 데이터 발신자 실행속성 변경, 원격 이벤트, 휴머노이드 상태 변경, 애니메이션 시작/중지를 보냅니다.데이터 모델에 복제된 변경 내용 수 줄이기
리플리케이터 SendCluster클라이언트에 지형 데이터를 보냅니다.지형 변경의 수량이나 크기를 줄입니다.
모델 완성 메가 작업서버만: 완전성은 내부 개념입니다. 모델이 완전히 전송되면 모델 완전성 이벤트가 문인스턴스를 더 적게 추가하거나 제거합니다.
데시리즈 패킷저수준 네트워크 패킷 처리. 복제기 프로세스 패킷을 준비합니다.업데이트를 더 적게 보내세요.

렌더링

레이블설명성능 노트
준비정보는 주 스레드에서 수집되고 렌더링에 사용되는 다양한 데이터 구조를 업데이트합니다.이렇게 하면 시뮬레이션 스레드가 차단되므로 가능한 한 작아야 합니다.아래의 레이블 준비를 참조하십시오.
준비/패스3d아론개체 위에 텍스트 레이블과 같은 다양한 개체 장식을 렌더링합니다. 이 단계에는 해당 개체가 표시되는지 여부를 결정하기 위한 레이캐스팅이 포함될 수 있습니다.BillboardGuis 또는 Humanoid 이름/상태 레이블 등의 표시되는 개체 수 줄이기
준비/패스2d2D UI 렌더링 준비(플레이어와 Roblox UI 모두).UI 요소의 수나 복잡성을 줄입니다.
준비/업데이트준비/업데이트 불완전한 부품속성이 변경되거나 추가된 부품을 업데이트합니다.세계에서 속성 변경의 양을 줄입니다. 스크립트가 대규모 개체 속성 집합을 업데이트하면 프레임 간에 분해합니다.
준비/업데이트준비/업데이트무효화된 빠른 클러스터일반적으로 Humanoids 를 렌더링하는 데 사용되는 "빠른 클러스터" 지오메트리를 준비합니다. 하위 마커는 부품, 버텍스 및 버텍스 크기를 지정합니다.개체가 아닌 아래의 'Humanoids' 사용을 줄입니다. Humanoids .빠른 클러스터가 훨씬 더 많은 메모리를 사용하기 때문에 드로우 호출을 줄이기 위해 이를 사용해서는 안됩니다.
준비/업데이트준비/업데이트동적 부품Humanoids , 차량 및 기타 이동 인스턴스의 위치를 업데이트하여 렌더링합니다.이동하는 Humanoids 또는 차량의 수나 복잡성을 줄입니다.동일한 재료와 색상의 부품을 연합이나 메쉬 파트로 결합하면 이 작업을 도울 수 있습니다.
준비/업데이트준비/업데이트인스턴스화된 클러스터인스턴스화된 렌더링(부품 및 메쉬 부품)을 사용하는 정적 기하를 준비합니다. "클러스터" 및 "인스턴스" 레이블은 업데이트된 숫자를 나타냅니다.전체 메쉬와 재료 변화를 줄이십시오. 유사한 모양의 개체를 사용하여 클러스터를 만들 수도 있습니다 - 크기, 색상, 재료.
수행실제 렌더링 명령이 생성되고 발행될 때.아래의 수행 레이블을 참조하십시오.
실행/채우기GUI버텍스UI 렌더링. 장식을 위해 UI 변형으로 버퍼를 채웁니다. "GUI 수" 레이블은 렌더러 목록의 요소 수를 나타냅니다.비용이 높으면 올바르게 숨겨져 사용되지 않을 때 비활성화하여 UI 업데이트 수량을 줄입니다.
수행/시나리오/쿼리FrustumOrdered볼 수 없는 개체가 렌더링되지 않도록 껍질 제거를 적용합니다.높은 비용이 있으면 요소가 많다는 것을 의미합니다.아마도 단일 메시에 비해 세부 정보가 더 많은 더 큰 메시를 사용하십시오.
수행/장면/계산된 조명 수행카메라 근처의 조명 계산.조명 수를 조작하거나 카메라를 덜 이동하여 조명 재계산에 걸리는 시간을 줄입니다.
수행/장면/조명 계산Perform/Scene/ computeLightingPerform/LightGridCPUVoxelShadowMap 모드와 품질 수준 4 이하의 Future 모드에서 사용되는 복셀 조명을 업데이트합니다.청크 점유율 업데이트가 너무 오래 걸리면 더 낮은 해상도 기하 구조를 사용하거나 부품 수를 줄이거나 고정 부품을 사용하는 것을 고려하십시오.다른 하위 마커가 너무 오래 걸리면 조명 수를 줄이고 점유 상태를 이동하고 무효화하는 개체에 그림자 던지기 기하학을 사용하지 않는 것을 고려하십시오.
수행/장면/계산된 조명 수행/그림자맵 시스템그림자 맵을 업데이트합니다. 품질 수준이 4보다 낮거나 Lighting.TechnologyVoxel 로 설정되어 있을 때 수행되지 않습니다.조명이 Future 로 설정되어 있으면 ShadowMap 로 낮추거나 조명 수를 줄입니다.또한 Light.ShadowsBasePart.CastShadows 을 사용하여 덜 중요한 인스턴스에서 그림자 캐스팅을 비활성화할 수 있습니다.참조 성능 향상.
실행/장면/발광, 색상 보정, MSAA, SSAO, 및 SSAOApply후처리 렌더링.포스트 프로세싱 효과 수 줄이기. 일반적으로 중요하지 않습니다.
수행/시나리오/UIUI 렌더링. Id_Screen에는 사용된 배치, 재료 및 삼각형 수의 레이블이 있습니다.표시되는 UI 요소 수를 줄이십시오. CanvasGroups를 사용하면 메모리 사용량이 증가하더라도 도움이 될 수 있습니다.
실행/장면/업데이트뷰/업데이트 파편, 파편 경계 업데이트입자 위치와 경계를 업데이트합니다.ParticleEmitters , 배출량, 수명 등의 수를 줄이십시오. 방출기의 이동을 제한하십시오.
Id_Opaque투명도 값이 0인 장면의 부품.
투명 ID_Transparent투명도 값이 0보다 다른 장면의 부품.부분 투명도 사용 감소(0과 1 이외의 값).
Id_Decal장면의 데칼입니다.
수행/제시GPU가 이전 프레임을 렌더링하는 것을 기다리고; 실제로 GPU에 렌더링 명령을 발행합니다; 저수준 그래픽 리소스를 처리합니다.일반적으로 장면 복잡성을 줄이십시오. 이 단계가 오랜 시간이 걸리면 GPU에 의해 제한될 수 있습니다.
수행/제시/완료될 때까지 대기 Perform/Present/waitUntilCompleted이전 프레임을 렌더링하는 GPU가 완료될 때까지 대기합니다.이것이 일반적으로 많이 발생하면 렌더링된 항목의 수가 너무 높습니다.FRM은 이것을 균형 잡는 데 도움이 되지만, 여전히 높으면 세부 정보를 덜 사용하십시오.

스크립트

레이블설명성능 조언
렌더/프리렌더/파이어바인드를 렌더링된 스텝백캔들로 바인딩 Render/PreRender/fireBindToRenderSteppedCallbacksRunService:BindToRenderStep()를 통해 렌더링 단계에 바인딩된 함수를 실행하는 중.스크립트에서 RunService:BindToRenderStep() 함수가 가능한 한 적은 작업을 수행하도록 하십시오.
렌더/프리렌더/런서비스.RenderSteppedRunService.RenderStepped 이벤트에 연결된 함수를 실행합니다.BindToRenderStep 와 비슷하게, 이 이벤트를 사용하는 함수가 가능한 한 적은 작업을 수행하도록 하십시오.
대기 하이브리드 스크립트 작업대기 프레임을 사용하여 대기 중인 스크립트를 재개합니다.이 단계에는 대기 스크립트 실행 시간 예산이 있으므로 너무 많은 대기 스크립트나 생성 전에 긴 실행 시간을 가진 스크립트가 있으면 이 단계에서 여러 개의 스크립트를 실행할 수 있습니다.
루아GCLuau 가비지 수집 주기. 레이블은 전체 할당량과 할당이 취소된 양을 메모리 예상치로 제공합니다.풀 Lua 테이블 및 기타 수집 가능 개체 또는 임시 테이블이나 문자열 생성을 줄이려고 시도
하트비트/런서비스.하트비트함수를 실행하여 연결된 Class.RunService.Heartbeat``event.Talk 을 시뮬레이션 및 스크립트 연락처에 연결합니다. 현재 설명은 오류가 아닌지 충분히 일반적입니다.RunService.Heartbeat에 연결된 함수의 수나 부하를 줄입니다.

시뮬레이션

레이블설명성능 조언
분산 물리 소유권서버나 클라이언트가 부품과 같은 특정 인스턴스에 대한 권한을 갖는지 여부를 결정합니다.분산 물리 소유권.
시뮬레이션/조립물리 엔진에서 사용하는 연결된 개체(어셈블리)의 트리를 업데이트합니다.생성되거나 파괴되는 조인트 수를 줄입니다.
시뮬레이션/물리학StepedTotal/물리학Steped물리 시뮬레이션을 실행합니다.물리적으로 시뮬레이션된 바디의 수와 복잡성 줄이기.
시뮬레이션/물리학SteppedTotal/물리학Stepped/공간필터/필터단계업데이트 시뮬레이션 섬, 네트워크 소유권에 따라 부품 배치, 로컬 시뮬레이션.섬은 독립적으로 시뮬레이션할 수 있는 부품의 비상호 작용 그룹입니다.네트워크 소유권을 자주 설정하지 않도록 하십시오. 부품 그룹을 서로 충분히 멀리 떨어뜨려 개별적으로 시뮬레이션할 수 있도록 합니다.
시뮬레이션/물리학SteppedTotal/물리학Stepped/월드스텝/스텝접촉개체 간의 업데이트 연락처.한 번에 충돌하는 몸의 수를 줄이거나 간단한 충돌 상자를 사용하십시오. 큐브는 복잡한 메쉬보다 낫습니다.
시뮬레이션/물리학SteppedTotal/물리학Stepped/월드스텝/스텝월드 또는 스텝월드가 제한됨커넥터, 부표 및 Humanoids와 관련된 물리 방정식을 해결합니다.엔진이 과부화되어 실시간으로 모든 것을 시뮬레이션할 수 없을 때, 일부 단계가 제한될 수 있습니다(stepWorldThrottled) 및 실시간 조립과 같은 Humanoids만 시뮬레이션됩니다.다음 세 단계에 따라 시간이 어디로 향하는지에 따라 다음과 같이 종속됩니다: stepContacts: 좁은 단계 충돌 감지 기하 테스트.솔버 단계: 시간 통합 및 충돌 및 기타 제약 조건 해결broadphase: 충돌 감지 시스템의 조립 위치를 업데이트하고 가능한 충돌하는 좁은 단계 쌍을 찾습니다.
이동 조립 알림프리미티브가 얼마나 오랫동안 잠들었는지 추적하는 데 도움이 됩니다.
시뮬레이션/물리학SteppedTotal/물리학Stepped/interpolateNetworkedAssemblies이 네트워크 피어가 제어하지 않는 어셈블리를 인터폴레이트합니다.부품의 네트워크 소유자를 이 피어로 설정하여 이를 줄이십시오; 그러나 이렇게 하면 일반적으로 다른 곳에서 더 많은 물리 작업이 수행되므로 주의해야 합니다.
시뮬레이션/핸들FallenParts작업 영역/FallenPartsDestroyHeight 아래로 떨어진 부품을 제거합니다.파괴 높이를 낮추거나 파괴 높이로 떨어지는 부품 수를 줄입니다.
하트비트/하트비트내부/워크스페이스온하트비트/업데이트비주얼슬립이동 알림 어셈블리의 두 번째 부분.
하트비트/런서비스.하트비트함수를 실행하여 연결된 Class.RunService.Heartbeat``event.Talk 을 시뮬레이션 및 스크립트 연락처에 연결합니다. 현재 설명은 오류가 아닌지 충분히 일반적입니다.RunService.Heartbeat에 연결된 함수의 수나 부하를 줄입니다.
월드스텝/스텝 접촉물리 시뮬레이션 단계에서 한 번에 많은 접촉을 도와줍니다.충돌하는 개체 수 줄이기.
SolveBatch물리 시뮬레이션이 개체의 배치 이동을 해결하도록 도와줍니다.
메커니즘 인터폴레이션인터폴레이트네트워크어셈블리 작업을 돕습니다.

UI

레이블설명성능 조언
렌더/프리렌더/업데이트입력사용자가 마지막 프레임 이후로 입력을 수행했는지 여부에 따라 업데이트하고 모든 사용자 입력 관련 이벤트를 발생시킵니다.사용자 입력과 관련된 이벤트가 발생하는 시점입니다.입력을 받을 때 너무 많은 작업을 직접 수행하지 않도록 시도하는 것이 중요합니다.입력에 대한 최소 처리를 수행하고, 더 큰 계산은 나중에 발생하는 다른 스레드로 밀려나야 합니다.
렌더/프리렌더/트위언 서비스업데이트 개체를 TweenService 사용하여 중간에 업데이트하고 제공된 것과 같은 완료 콜백을 호출합니다. updates objects being tweened using TweenSizeTweenPosition .TweenService를 사용하여 전환되는 개체 수를 줄이고 콜백이 가능한 한 적은 작업을 수행하도록 합니다.
렌더/프리렌더/업데이트 UILayoutsUI 요소의 위치와 크기를 업데이트합니다.UI 요소의 크기 조정이나 위치 조정이 동적으로 수행되는 양을 줄이십시오(예: UILayout에서 관리하는 요소).
하트비트/트위언 서비스서버에서는 TweenService로 중간 처리된 개체를 업데이트합니다. 클라이언트에서는 대신 프리레nder 단계에서 수행됩니다.TweenService에 의해 중간에 분할된 개체의 수를 줄입니다.