넷마블 게임즈: ADPF를 통한 성능 최적화

넷마블: 왕좌의 게임 시리즈 로고
넷마블: 전투 장면
넷마블: 필드 보스 드로곤이 등장하는 전투 장면

굴지의 모바일 게임 개발사인 넷마블은 에미상® 및 골든글로브® 수상작인 왕좌의 게임 시리즈를 기반으로 한 액션 어드벤처 RPG인 왕좌의 게임: 킹스로드 (Android 버전 출시 예정)를 개발했습니다. Android 기기에서 게임을 실행하는 동안 성능 문제, 특히 열 제한 문제가 발생하여 지속적인 성능과 사용자 환경에 영향을 미쳤습니다. 이를 해결하기 위해 Android 적응형 성능 프레임워크 (ADPF)를 전략적으로 활용하고 해상도 조정 및 동적 프레임 속도 조정에 중점을 둔 최적화를 구현했습니다.

챌린지

고화질 모바일 게임은 상당한 GPU 및 CPU 리소스를 요구하므로 Android 기기에서 과도한 열 발생 및 열 제한이 발생하는 경우가 많습니다. Netmarble은 게임플레이 세션이 길어질수록 기기 온도가 상승하여 프레임 속도 저하 및 성능 불안정 등 성능이 저하되는 것을 확인했습니다. 핵심 과제는 시각적으로 매력적인 환경을 유지하면서 기기 온도를 효과적으로 관리하여 제한을 방지하고 지속적인 성능을 보장하는 것이었습니다.

해결 방법

Netmarble은 실시간 열 상태에 따른 동적 조정에 중점을 두고 데이터 기반 접근 방식을 채택하여 ADPF를 사용했습니다.

성능 병목 현상 식별

Netmarble은 다양한 그래픽 품질 설정이 프레임 속도와 열 부하에 미치는 영향을 측정하는 세심한 성능 분석을 실시했습니다. 이 분석에 따르면 해상도 조정이 프레임 속도에 심각한 영향을 미치지 않으면서 GPU 부하 및 열 출력에 가장 큰 영향을 미치는 것으로 나타났습니다. 중요한 점은 다른 그래픽 옵션 (그림자, 텍스처 등)이 전반적인 열 성능에 미치는 영향이 비교적 미미하다는 점입니다.

동적 해상도 조정

Netmarble에서 동적 해상도 시스템을 추가했습니다. ADPF Thermal API를 사용하여 기기의 온도에 따라 게임의 이미지 품질을 변경합니다. 이렇게 하면 게임이 다양한 조건에 맞게 조정될 수 있습니다. 기기가 차가우면 게임은 고해상도를 사용합니다. 기기가 너무 뜨거워지면 게임은 열을 줄이기 위해 해상도를 낮춥니다.

자동 프레임 속도 조정

Netmarble은 해상도 조정과 함께 동적 프레임 속도 조정을 구현했습니다. 게임의 타겟 FPS가 60으로 설정된 경우 과도한 열이 감지되면 시스템에서 타겟 FPS를 점진적으로 줄일 수 있습니다. Netmarble은 열 문제를 방지하면서 최소 확장 가능한 FPS를 30으로 설정했습니다. 이를 통해 일관된 게임 환경을 제공할 수 있었습니다. 또한 시스템은 열이 감소하면 FPS를 점진적으로 타겟으로 다시 높여 최적의 성능을 유지하도록 설계되었습니다.

결과

ADPF를 기반으로 동적 해상도 조정 및 적응형 FPS 조정을 구현하여 열 관리 및 지속적인 성능이 크게 개선되었습니다.

Netmarble: 성능 비교
  • 열 여유 공간 개선: ADPF를 통해 평균 열 여유 공간을 1.04에서 0.92로 줄여 (11% 감소) 성능 저하를 방지하고 기기 수명을 개선했습니다. 열 헤드룸 값이 1.0을 초과하지 않았으므로 기기 과열을 방지할 수 있었습니다.
  • 더 일관된 프레임 속도: ADPF는 기기의 열 상태에 따라 게임의 타겟 FPS를 지능적으로 조정하여 더 원활한 게임 환경을 제공합니다. ADPF가 없으면 열 제어로 인해 게임의 FPS가 크게 변동될 수 있습니다(예: 40에서 56). 기기가 열을 관리하는 데 어려움을 겪으면서 발생하는 이러한 일관되지 않은 프레임 속도는 불쾌감을 주는 게임플레이 환경을 초래할 수 있습니다. ADPF를 사용하면 게임은 과도한 열 축적을 방지하기 위해 필요에 따라 타겟 FPS를 선제적으로 줄여 일반적으로 50~60FPS 범위 내에서 더 안정적이고 일관된 프레임 속도를 보장합니다. 이렇게 하면 열 제한과 관련된 갑작스러운 프레임 드롭이 방지되어 플레이어 환경이 크게 개선되고 더욱 즐거워집니다.
  • 고품질 그래픽 보존: 해상도 조정을 기본 조정 메커니즘으로 우선시함으로써 Netmarble은 열 관리의 시각적 영향을 최소화하고 다른 설정 (텍스처, 효과 등)을 더 높은 수준으로 유지했습니다.

결론

Netmarble은 ADPF의 안내에 따라 해상도 조정과 동적 FPS 조정에 집중하여 성능, 시각적 품질, 사용자 환경 간에 최적의 균형을 유지하면서 Game of Thrones: Kingsroad의 과열 문제를 완화했습니다. ADPF를 전략적으로 사용한 사례는 비슷한 문제를 겪고 있는 모바일 게임 개발자에게 효과적인 접근 방식을 보여줍니다. ADPF를 통해 더 안정적이고 즐겁고 일관된 환경을 제공할 수 있었으며, 플레이어는 프레임 드롭이 줄고 기기 과열에 대한 우려가 줄어 더 오래 플레이할 수 있었습니다. 이 솔루션을 통해 넷마블은 최적의 기기 성능과 수명을 보장하면서 고품질 게임 환경을 지속적으로 제공하고 있습니다.

지금 Unity, Unreal, C++에서 ADPF 시작하기

Android 적응성을 사용하고자 하는 개발자는 다음을 실행해야 합니다.

사용하는 엔진에 관계없이 언제든지 API를 직접 사용할 수 있습니다. Android 적응성Unreal Engine ADPF 플러그인에서 자세히 알아보세요.