728x90
반응형

tracy : 프레임 프로파일러(Frame profiler)



요약

  1. Tracy 프로파일러 소개:

    • Tracy는 실시간 워크플로우를 제공하며, CPUGPU 프로파일링 을 혼합한 하이브리드 프로파일링 기능을 지원합니다.
      • C, C++, Lua, PythonFortran 통합에 직접적인 지원이 제공됩니다.
      • 동시에 Rust, Zig, C#, OCaml, Odin 등 많은 다른 언어에 대한 서드파티 바인딩도 인터넷에 존재합니다
      • GPU 프로파일링 (모든 주요 그래픽 API: OpenGL, Vulkan, Direct3D 11/12, Metal, OpenCL.)
      • 메모리 할당, 잠금, 컨텍스트 스위치, 캡처된 프레임에 스크린샷을 자동으로 속성하는 등 다양한 기능이 있습니다.
    • 매우 정밀한 나노초 단위 측정이 가능하고, 다중 플랫폼에서 사용할 수 있는 무료 오픈 소스 도구입니다.
  2. 프로파일링 기법과 Tracy의 강점:

    • 일반적인 샘플링 기반 프로파일링 외에도 사용자가 직접 코드 내 특정 부분을 계측할 수 있는 도구를 제공합니다.
    • Tracy는 직관적인 인터페이스와 시각적 분석 도구를 통해 사용자의 디버깅 및 성능 분석을 지원합니다.
  3. 통합과 사용 편의성:

    • 간단한 설정으로 Tracy를 프로젝트에 통합할 수 있으며, 실험적 용도로 빠르게 적용 가능.
    • CPU 및 GPU 작업의 지연 시간을 시각화하고, 메모리 할당과 잠금 동작을 추적할 수 있습니다.
  4. 샘플링 모드와 주요 기능:

    • 샘플링 모드는 코드를 수정하지 않고도 성능 데이터를 수집 가능하며, 실시간 호출 스택 및 어셈블리 코드 분석을 지원합니다.
    • 특정 시간 범위에 대한 통계를 제한하여 세부 분석을 제공합니다.
  5. 실제 사례 및 데모:

    • Quake 2 게임을 통해 Tracy의 프레임 기반 프로파일링과 GPU 렌더링 분석을 시연.
    • 로깅 메시지, 메모리 추적 및 스레드 간 동기화 분석 기능을 통해 실질적인 개발 환경에서의 활용성을 입증.
728x90
반응형

+ Recent posts