ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Unity - CPU 프로파일러
    보관함 2020. 7. 22. 20:50

      CPU 프로파일러의 구성 

    CPU 프로파일러 모듈은 다음의 항목의 성능을 확인한다.

    • Rendering
    • Script
    • Physics
    • Animation
    • GarbageCollector
    • VSync
    • Global Illumination
    • UI
    • Others

    이러한 항목은 자신이 만들고 있는 프로그램에 따라 주로 확인하게 되는 부분이 달라지겠지만 게임의 경우 일반적으로 Rendering, Animation은 항상 확인해야 한다.

     

    CPU 프로파일러 모듈과 프레임 차트

     

    CPU 프로파일러에서는 특히 프레임 차트를 확인하여 프로파일이 진행되게 되는데 프레임 차트에서 CPU 사용률이 치솟는 지점을 선택하여 상세 정보를 확인하는 형태로 진행되기 때문이다.

     

    CPU 프로파일러 모듈 세부 정보 창

     

    모듈 세부 정보 창은 프레임 차트에서 특정 지점을 선택할 때 동작하며 좌 상단의 드롭박스를 통해 사용할 모드를 선택할 수 있다. 모드의 종류는 다음과 같다.

    • Hierarchy  데이터를 그룹화하여 계층적으로 표시한다.
    • Timeline  CPU 스레드에서 점유하고 있는 작업을 시각적으로 표시한다.
    • Raw Hierarchy  데이터를 그룹화하지 않고 계층적으로 표시한다.

    Hierarchy와 Raw Hierarchy의 경우 모드 선택 드롭박스 우측의 스레드 드롭박스를 통해 현재 동작하고 있는 스레드의 목록을 확인 및 선택하여 프로파일을 진행할 수 있다.

    스레드 선택 드롭박스

     

      CPU 프로파일러 보는 법 

    CPU 프로파일링의 경우 작업을 진행하며 프레임 차트를 확인하다가 스파이크(차트의 피크)의 발생 여부를 확인하며 해당 프레임의 상세 정보를 파악하여 문제를 제거하는 것을 기본으로 한다.

     

    가령 위 차트의 경우 다음의 지점의 상세 정보를 확인하려 할 것이다.

    프레임 차트의 스파이크 예제

     

    이후 프레임을 선택한 뒤 하단의 세부 정보 창에서 상세 정보를 확인하게 되는데, 위에서 설명한 것처럼 좌상단의 모드를 선택하여 필요한 정보를 선택할 수 있을 것이다.

     

    Timeline 모드의 경우 어떤 함수가 어느 스레드에서 사용되고 있으며 어느 정도를 점유하는지를 시각적으로 확인할 수 있다. 기본적으로 이것을 바탕으로 문제가 되는 부분을 파악하고 정확한 정보는 Hierarchy 모드로 확인하게 된다.

    Timeline 모드

     

    Hierarchy 모드의 경우 해당 프레임의 CPU 사용량을 100%로 보고 어떤 부분에서 CPU 점유율이 높은 지를 확인할 수 있다. 기본적으로 CPU를 하나의 메소드가 과하게 점유하는 경우 프레임 드랍이 발생할 수 있으므로 적절하게 분할될 수 있도록 하는 게 좋을 것이다.

    Hierarchy 모드

    댓글

Designed by Tistory.