프로파일러 모듈은 프로파일러 창에 시스템의 성능 데이터를 표시합니다.
다음 중 한 가지 방법으로 자체 프로파일러 모듈을 생성할 수 있습니다.
커스텀 모듈은 코드에 지정한 카운터를 프로파일러 창 차트 뷰(A)에 표시하고 카운터는 모듈 세부 정보 패널(B)에 리스트로 나타납니다.
Unity의 빌트인 프로파일러 모듈 에디터를 사용하여 자체 프로파일러 모듈을 생성할 수 있습니다. 프로파일러 모듈에서 데이터를 수집하려면 모듈이 추적할 카운터를 하나 이상 추가해야 합니다. 빌트인 Unity 카운터를 모두 추가하거나 ProfilerCounter API를 사용하여 모듈에 추가할 자체 카운터를 생성할 수 있습니다. 사용 가능한 카운터 목록이 Available Counters 창에 표시됩니다.
자체 모듈을 생성하려면 다음 단계를 따르십시오.
중요: 프로파일러 창에 로드한 데이터가 없다면 프로파일러 모듈 에디터를 로드할 때도 생성한 카운터가 Available Counters 창에 표시되지 않습니다. 커스텀 카운터를 보려면 프로파일러로 방출된 카운터가 있는 일부 데이터를 캡처하거나 로드한 뒤 프로파일러 모듈 에디터를 다시 엽니다.
코드를 통해 프로파일러 모듈을 생성하려면 새로운 ProfilerModule 스크립트를 생성해야 하고 표시되는 카운터, 이름, 아이콘을 비롯한 모듈의 프로퍼티를 정의해야 합니다.
프로파일러 모듈을 정의하려면 스크립트가 다음을 수행해야 합니다.
프로젝트 또는 패키지에서 ProfilerModule에서 파생된 클래스를 정의합니다. 다음 예시에서 클래스의 이름은 TankEffectsProfilerModule입니다.
public class TankEffectsProfilerModule : ProfilerModule
이 클래스에 [ProfilerModuleMetadata] 속성을 할당하고 속성의 인수에 모듈의 표시 이름을 지정합니다. 다음 예시에서 표시 이름은 ‘Tank Effects’입니다.
[ProfilerModuleMetadata("Tank Effects")]
파라미터가 없는 생성자를 구현하고 차트 카운터 설명 목록을 기본 생성자에 전달합니다. 다음 예시에서 파라미터가 없는 생성자는 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) { }
자체 프로파일러 모듈을 정의하면 프로파일러 창이 자동으로 이를 감지합니다. 프로파일러 창에서 프로파일러 모듈의 데이터를 보려면 다음 단계를 따르십시오.
애플리케이션이 플레이 모드일 때도 프로파일러를 실행할 수 있습니다. 하지만 플레이 모드로 애플리케이션을 프로파일링하는 경우 프로파일러는 하드웨어 기기에 빌드할 때 애플리케이션이 실행되는 방식을 나타내지 않는 데이터를 표시합니다.