본문으로 건너뛰기
CHOI HONGSU
1 min read

디바이스별 GPU 프로파일링

 

 

  • -41% DrawOpaqueObjects GPU time (46ms → 27.1ms)
  • 60fps Galaxy S21 상옵션 달성 (20-30fps → 60fps)
  • 플레이 가능 Galaxy S9 4GB 진입 불가 → 하옵 40fps

Problem

  • 배경 DrawOpaqueObjects가 46ms로 전체 프레임 예산의 대부분을 점유.
    독립적인 비효율이 누적되어 있었다.

     

    1. [텍스처] 배경 오브젝트 전반에 걸쳐 불필요한 노말맵이 사용 중.
      인게임 화각·조명 조건에서 체감 품질 기여도가 낮은 노말맵 150장이 잔존.

       

    2. [셰이더] 로비(정적 연출)·인게임(실시간 배틀) 배경 오브젝트가
      동일한 고기능 우버 셰이더를 사용.
      인게임에서 불필요한 연출 기능까지 매 드로우콜마다 실행.

       

    3. [지오메트리] 지형 표면 블렌딩을 스플랫맵으로 구현.
      픽셀 셰이더에서 멀티 텍스처 샘플링 + 블렌딩 연산이 매 프래그먼트마다 발생.

       

    4. [지오메트리] 배경 메쉬에 불필요한 엣지가 잔존. 실루엣·형태에 기여하지 않는 엣지가 버텍스 수를 높이고 래스터라이저 부하를 가중시켰다.

요약

D 빌드 → F 빌드

Shadow

7.7ms7.1ms

DrawOpaqueObjects

46ms27.1ms

COS PostProcessing

9.7ms9.5ms

UI

2.4ms3.9ms

Before / After

D빌드 12.16 / F빌드 02.06

Galaxy S21

BEFORE
Before
AFTER
After

디바이스 메모리 8/6GB FPS 테스트 ( 4GB 테스트 불가 )

  • Galaxy 21s [ 8GB ] 엑시노스 10 (2100)

하옵션[60] - FPS 60 → 하옵션[60] - FPS 60
중옵션[60] - FPS 45 - 55 ( 포스트 프로세스 off ) → 중옵션[60] - FPS 60 ( 포스트 프로세스 on )
상옵션[60] - FPS 20 - 30 → 상옵션[60] - FPS 60

  • Galaxy S9+ [ 6GB ] 엑시노스 9

하옵션[60] - FPS 40 → 하옵션 [60] - FPS 60
중옵션[60] - FPS 30 ( 포스트 프로세스 off ) → 중옵션 [60] - FPS 60 ( 포스트 프로세스 on )
상옵션[60] - FPS 25 → 상옵션 [60] - FPS 30 ~ 40

  • Galaxy S9 [ 4GB ] 엑시노스 9

하옵션[60] - (광장까지 진입 가능 플레이 x) → 하옵션 [60] - FPS 40
중옵션[60] - ( 진입 불가 ) → 중옵션 [60] - FPS 30 ( 포스트 프로세스 on )
상옵션[60] - ( 진입 불가 ) → 상옵션 [60] - (광장까지 진입 가능 플레이 x)

Validation

Tools: AGI · Build: Dev - D build · Scene: Lobby

DeviceGPUAPIShadowDrawOpaqueObjectsCOS PostProcessingUI
BeforeAfterBeforeAfterBeforeAfterBeforeAfter
Galaxy S21Mali-G78 Vulkan 1.1.07.7 ms7.1 ms46ms 27.1ms 9.7ms9.5ms2.4ms3.9ms

Tradeoffs & Future Work

Tradeoffs

  • UI 패스가 2.4ms → 3.9ms로 증가. UIParticle 수 증가, 별도 최적화 진행 중.