Version: Unity 6.0 (6000.0)
언어 : 한국어
프로파일러 모듈 커스터마이즈
Create a Profiler module

프로파일러 모듈 생성

프로파일러 모듈은 프로파일러 창에 시스템의 성능 데이터를 표시합니다.

다음 중 한 가지 방법으로 자체 프로파일러 모듈을 생성할 수 있습니다.

커스텀 모듈은 코드에 지정한 카운터를 프로파일러 창 차트 뷰(A)에 표시하고 카운터는 모듈 세부 정보 패널(B)에 리스트로 나타납니다.

프로파일러 에디터를 사용하여 프로파일러 모듈 생성

Unity의 빌트인 프로파일러 모듈 에디터를 사용하여 자체 프로파일러 모듈을 생성할 수 있습니다. 프로파일러 모듈에서 데이터를 수집하려면 모듈이 추적할 카운터를 하나 이상 추가해야 합니다. 빌트인 Unity 카운터를 모두 추가하거나 ProfilerCounter API를 사용하여 모듈에 추가할 자체 카운터를 생성할 수 있습니다. 사용 가능한 카운터 목록이 Available Counters 창에 표시됩니다.

자체 모듈을 생성하려면 다음 단계를 따르십시오.

  1. 프로파일러 창(Window > Analysis > Profiler)을 엽니다.
  2. Profiler Modules 드롭다운을 선택한 다음 톱니바퀴 아이콘을 선택합니다. 프로파일러 모듈 에디터가 열립니다.
  3. 창 좌측 상단에 있는 Add 버튼을 선택합니다. 그러면 Unity가 New Profiler Module이라는 목록에 새 프로파일러 모듈을 추가합니다. 모듈의 이름을 변경하려면 텍스트 필드를 클릭하고 키보드를 사용하여 이름을 설정합니다.
  4. 모듈에 표시할 카운터를 Available Counters 패널에서 선택한 후 더블 클릭하여 모듈에 추가합니다. 여러 카운터를 선택하려면 Shift 키를 누른 채로 범위를 선택하거나 Ctrl 키(macOS의 경우 Command 키)를 누른 채로 카운터를 한 번에 하나씩 선택합니다.
  5. 카운터의 순서를 변경하려면 카운터를 드래그합니다. 모듈에 최대 10개의 카운터만 추가할 수 있습니다.
  6. Profiler Module Editor 창 오른쪽 하단에 있는 Save Changes 버튼을 선택합니다. 그러면 Unity가 창을 닫고 프로파일러 창에 새 모듈을 표시합니다.

중요: 프로파일러 창에 로드한 데이터가 없다면 프로파일러 모듈 에디터를 로드할 때도 생성한 카운터가 Available Counters 창에 표시되지 않습니다. 커스텀 카운터를 보려면 프로파일러로 방출된 카운터가 있는 일부 데이터를 캡처하거나 로드한 뒤 프로파일러 모듈 에디터를 다시 엽니다.

사용자 카운터가 나열된 프로파일러 모듈 에디터
사용자 카운터가 나열된 프로파일러 모듈 에디터

코드에서 프로파일러 모듈 생성

코드를 통해 프로파일러 모듈을 생성하려면 새로운 ProfilerModule 스크립트를 생성해야 하고 표시되는 카운터, 이름, 아이콘을 비롯한 모듈의 프로퍼티를 정의해야 합니다.

프로파일러 모듈을 정의하려면 스크립트가 다음을 수행해야 합니다.

  1. 프로젝트 또는 패키지에서 ProfilerModule에서 파생된 클래스를 정의합니다. 다음 예시에서 클래스의 이름은 TankEffectsProfilerModule입니다.

    public class TankEffectsProfilerModule : ProfilerModule
    
  2. 이 클래스에 [ProfilerModuleMetadata] 속성을 할당하고 속성의 인수에 모듈의 표시 이름을 지정합니다. 다음 예시에서 표시 이름은 ‘Tank Effects’입니다.

    [ProfilerModuleMetadata("Tank Effects")] 
    
  3. 파라미터가 없는 생성자를 구현하고 차트 카운터 설명 목록을 기본 생성자에 전달합니다. 다음 예시에서 파라미터가 없는 생성자는 TankEffectsProfilerModule()이고, 차트 카운터 설명자 목록은 k_Counters이며, 기본 생성자는 base입니다.

    static readonly ProfilerCounterDescriptor[] k_Counters = new ProfilerCounterDescriptor[]
    {
        new ProfilerCounterDescriptor(GameStatistics.TankTrailParticleCountName, GameStatistics.TanksCategory),
        new ProfilerCounterDescriptor(GameStatistics.ShellExplosionParticleCountName, GameStatistics.TanksCategory),
        new ProfilerCounterDescriptor(GameStatistics.TankExplosionParticleCountName, GameStatistics.TanksCategory),
    };
            
    public TankEffectsProfilerModule() : base(k_Counters) { }
    

프로파일러 창에 커스텀 프로파일 모듈 표시

자체 프로파일러 모듈을 정의하면 프로파일러 창이 자동으로 이를 감지합니다. 프로파일러 창에서 프로파일러 모듈의 데이터를 보려면 다음 단계를 따르십시오.

  1. 프로파일러를 애플리케이션에 연결합니다. 자세한 내용은 애플리케이션 프로파일링을 참조하십시오.
  2. 애플리케이션을 실행합니다.

애플리케이션이 플레이 모드일 때도 프로파일러를 실행할 수 있습니다. 하지만 플레이 모드로 애플리케이션을 프로파일링하는 경우 프로파일러는 하드웨어 기기에 빌드할 때 애플리케이션이 실행되는 방식을 나타내지 않는 데이터를 표시합니다.

추가 리소스

프로파일러 모듈 커스터마이즈
Create a Profiler module