Unreal Engine 성능 프로파일링 - Amazon GameLift Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Unreal Engine 성능 프로파일링

이 섹션에서는 Unreal Engine 게임 또는 애플리케이션 성능을 분석하는 방법을 알아봅니다. 이를 통해 최적화할 영역의를 식별하여 Amazon GameLift Streams에서 스트리밍을 더 원활하게 만들 수 있습니다.

Unreal Engine의 콘솔과 내장 통계 명령을 사용하여 게임의 성능을 자세히 살펴볼 수 있습니다. 배송할 수 없는 빌드 또는 편집기에서 콘솔에 액세스할 수 있습니다. 배송할 수 없는 빌드는 디버그 또는 개발 구성을 사용하여 빌드된 프로젝트를 나타냅니다.

콘솔에 액세스하려면

배송할 수 없는 빌드와 편집기에서 재생 모드에서 물결표(~) 키를 눌러 콘솔을 엽니다. 물결표 키를 두 번 눌러 콘솔을 확장합니다.

다음은 콘솔 사용에 대한 몇 가지 팁입니다.

  • 키워드를 입력하여 해당 키워드가 포함된 가능한 모든 명령을 나열합니다. 화살표 키를 사용하여 목록을 스크롤합니다.

  • 화살표 키 또는 페이지 위로 및 페이지 아래로 키를 사용하여 기록을 스크롤합니다.

  • 로그는 프로젝트 Saved/Logs 디렉터리의 .txt 파일에 저장됩니다.

게임 성능을 프로파일링하려면
  1. 먼저 stat fpsstat unit 명령을 실행합니다. 이렇게 하면 게임이 성능에 어려움을 겪는 부분에 대한 개요를 볼 수 있습니다.

    • stat fps: 현재 초당 프레임을 표시합니다.

    • stat unit: 프레임을 여러 하위 섹션으로 나눕니다.

      • 프레임: 프레임 시뮬레이션이 시작되는 시점부터 프레임이 화면에 표시되는 시점까지의 총 벽시계 시간입니다.

      • 게임: 프레임당 게임 시뮬레이션 스레드에 걸린 총 CPU 시간입니다.

      • 그리기: 렌더링 스레드가 장면을 GPU 명령으로 변환하고 GPU에 제출하는 데 걸리는 총 CPU 시간입니다.

      • GPU: GPU가 모든 명령을 처리하는 데 걸리는 총 시간입니다.

      • 드로우: 프레임에 대해 제출된 총 드로우 수입니다.

      • Prims: 그려진 총 삼각형 수입니다.

  2. 게임을 플레이하고 게임, 그기 또는 GPU에서 FPS 감소와 시간 증가로 나타나는 성능이 낮은 영역을 식별합니다.

  3. 를 실행stat game하여 다양한 게임 플레이 그룹에 소요되는 시간을 확인합니다.

  4. AI, 애니메이션, 물리, 게임 플레이, 스크립팅 등과 같은 특정 게임 플레이 요소에 대한 통계를 구체화합니다. 다음은 몇 가지 예입니다.

    • stat ai: AI 동작을 계산하는 데 걸리는 시간입니다.

    • stat anim: 스키닝된 메시를 계산하는 시간입니다.

    • stat physics: 물리 시뮬레이션을 계산하는 데 걸리는 시간입니다.

  5. 를 실행stat drawcount하여 가장 많은 드로우를 생성하는 렌더링 영역을 확인합니다. 목록에는 드로우를 내보내는 렌더 패스와 각 프레임에서 내보내는 드로우 수가 표시됩니다. 다음 단계에서 GPU 통계를 분석하여 자세한 정보를 얻을 수 있습니다.

  6. 를 실행stat gpu하여 GPU 시간을 가장 많이 소비하는 렌더 유형을 확인합니다.

  7. 렌더링 유형을 조명, 그림자, 내강(조명), 머리카락, 후처리 등과 같은 광범위한 그룹으로 구체화합니다. 다음은 몇 가지 일반적인 예입니다.

    • stat lightrendering: 조명과 그림자를 렌더링하는 GPU 시간입니다.

    • stat shadowrendering: 다양한 섀도우를 업데이트하는 GPU 시간입니다.

    • stat scenerendering: 장면을 렌더링하는 GPU 시간입니다.

이 섹션에서는 사용 가능한 명령의 하위 집합만 다룹니다. 게임의 기능에 따라 자산 스트리밍, 가상 텍스처링, CPU 작업 워크로드 배포, 스레딩, 사운드, 파티클 등과 같은 영역의 통계를 살펴봅니다. 자세한 내용은 통계 명령을 참조하세요.