[메모] 언리얼 엔진으로 게임 성능 극대화하기 - 진행중

Kclient·2023년 2월 8일
0

UnrealEngine

목록 보기
3/5

IMAGE ALT TEXT HERE
해당 영상을 보며 까먹지 않게 내용을 정리한 글이다.

이분이 정리하신 노션 페이지도 있다.


1. 프로파일링 전반 (Profiling in general)

1.1 프레임 예산 (Frame budget)

  • CPU와 GPU 모두 16.66ms (60fps), 33.33ms (30fps)의 프레임 예산이 있다.
  • 콘솔일 경우는 거의 대부분의 예산을 다 소모해도 된다. (HW도 알고있고 팬도 잘돌아감)
  • PC 일경우 조금 여유가 필요하다. (하드웨어 자동탐지 기능을 넣거나 디폴트값을 여유롭게 설정)
  • 모바일일 경우에는 열 스로틀링을 생각해 더 많은 여유를 가져야한다. (팬이 없어 과열됨)

1.2 언제 최적화를 해야할까? (When do I optimize)

  • 성급한 최적화를 하지말지만 개발 중에 퍼포먼스를 생각하며 개발을 하여하한다.
  • 코드의 가독성을 유지하면서
  • 타겟 플랫폼에서 60fps가 유지되면? 거기서 끝!
  • 콘텐츠의 최적화는 언제? -> 프로파일러에 표시될 때

1.3 실용적인 최적화 (Practical optimization)

  • 프레임 시간에 도달하지 못할 때만 최적화 혹은 모바일이어서 약간 더 여유가 필요할 때
  • 보통은 가장 쉬운 것부터 (최소한의 노력으로 큰효 과를 얻을 수 있는 것부터)
  • 프로파일러를 열고 눈에 띄는 것들을 출시 전까지 반복
  • What, Why and How 를 생각해라

What

  • 무엇이 느린지?
  • 프로파일러에 뜸

Why

  • 왜 느린지?

How

  • 어떻게 고칠수 있는지?


2. 언리얼 엔진에서의 프로파일링 (Profiling in Unreal Engine)

2.1 언리얼 인사이트 (Unreal Insights)

  • Tools -> Run Unreal insights 혹은 엔진 바이너리 옆에 위치 (독립형 실행파일임)
  • 인사이트가 실행중일때 게임을 실행하면 됨
  • -trace 옵션으로 디폴트 검사 채널을 오버라이드 가능 (디폴트: cpu, frames, log, bookmakrs)
  • 다른 컴퓨터로 트래이스를 할 경우 -tracehost 파라미터 사용

2.2 프로파일 GPU (ProfileGPU)

  • GPU를 프로파일링 하려면 캡쳐를 진행해야 함, ProfileGPU라는 툴을 제공
  • Ctrl + Shift + Comma(,) 혹은 콘솔커맨드 'ProfileGPU)
  • 현재 프레임을 프로파일링
  • 에디터에 있는 경우 GPU 시각화 툴이 열림, 아닌 경우 콘솔에 표시


3. 실용적인 사례 (Practical examples)

3.1 낮은 에디터 프레임레이트 (Low Editor FrameRate)

  • FPS표시 (콘솔에 stat fps 혹은 에디터 메뉴에 있음)
  • stat unit 명령어를 사용해 CPU, GPU 등 어떤 것이 느린지 확인 가능

3.2 작은 액터, 큰 멈춤 (Tiny Actor, Huge Hitch)

profile
뭐든 손에 잡히는 대로 해보자

0개의 댓글