언리얼 엔진 커뮤니티 여러분, 안녕하세요. 저는 ARM 에코시스템 팀의 스태프 개발자 에반젤리스트인 줄리 개스킨(Julie Gaskin)입니다. 이제 모바일 게임 개발자들에게 비주얼 퀄리티는 최우선 과제가 되었습니다. 모바일 하드웨어는 세대가 거듭될수록 성능이 향상되어 스마트폰과 기존 게임 플랫폼 간의 격차를 점점 좁혀가고 있습니다. 또한 GPU 성능이 지속적으로 향상되면서, 복잡한 라이팅이나 고퀄리티 이펙트처럼 과거에는 PC와 콘솔에서 주로 구현되었던 기능들이 모바일 타이틀에서도 점차 보편화되고 있습니다.
하지만 이러한 발전에도 불구하고, 모바일 디바이스에는 여전히 엄격한 제약이 적용됩니다. 모바일 디바이스는 배터리로 작동하고 과열되기 쉬우며, 픽셀 밀도가 매우 높은 고해상도 디스플레이에 렌더링됩니다. 이 때문에 픽셀 단위의 처리와 최적화 하나하나가 매우 중요합니다.
오늘날의 모바일 게임은 복잡한 라이팅, 포스트 프로세싱 이펙트, 동적인 월드, 더 나아가 레이 트레이싱의 초기 적용까지 시도하며 모바일 환경의 한계를 끌어올리고 있습니다. 하지만 픽셀 밀도가 높은 화면을 높은 프레임 레이트로 렌더링하는 것은 성능에 큰 부담이 됩니다. 이는 전력 소모를 크게 늘리고 GPU에 부하를 가하며, 배터리를 빠르게 소모시킵니다. 특히 요즘 플레이어들이 기대하는 수준의 비주얼 완성도를 구현하려 할수록 비용이 증가합니다.
포트나이트가 Arm ASR을 사용하여 모바일 게임의 한계를 넓히는 방법
포트나이트처럼 시각적 완성도가 높고 성능 요구사항이 까다로운 게임을 출시할 때는 모바일 하드웨어의 성능을 최대한 활용할 수 있는 방법을 끊임없이 모색하게 됩니다.
모바일 디바이스는, 특히 안정적인 60Hz 게임플레이를 목표로 하는 경우 CPU와 GPU 작업 부하로 인한 부담이 있습니다. Arm ASR은 플레이어에게 제공하는 비주얼 퀄리티를 유지하거나 향상시키는 동시에 GPU 부담을 줄일 수 있는 방법입니다.
하지만 Arm ASR의 진정한 강점은 발열 및 성능 한계를 맞추기 위해 모바일에서 불가피하게 비활성화했던 기능들을 다시 활성화할 수 있게 해준다는 것입니다. 앰비언트 오클루전, 추가 섀도 캐스케이드, 포스트 프로세싱 향상과 같은 기능들을 이제 장시간의 플레이 세션 중에도 다시 활용할 수 있게 되었습니다.
실질적인 효과를 제공하는 매끄러운 통합
Arm ASR은 포트나이트 팀이 통합을 시작했을 당시 거의 바로 적용할 수 있을 정도로 준비된 상태였습니다. 다만 렌더러 측면에서 모바일 파이프라인이 씬 입력을 처리하는 방식과 관련하여 일부 조정을 적용해야 했습니다.(이 변경 사항은 이후 언리얼 엔진의 공식 코드에 반영되었습니다). 초기 단계에서 가장 먼저 마주한 과제 중 하나는 고스트 현상이었는데 이는 빠르게 움직이는 씬이나 투명 요소가 포함된 경우에 특히 두드러졌습니다. 식생, 파티클 이펙트, 무기의 반짝임 등이 이에 해당합니다.
이를 해결하기 위해 포트나이트 팀은 템포럴 아티팩트가 발생할 가능성이 높은 픽셀을 동적으로 식별하는 리액티브 마스크를 활성화했습니다. 그들은 이 기능을 모바일 렌더러 API에 직접 통합해, 씬 변화에 따라 마스크가 실시간으로 업데이트되도록 했죠. 그 결과, 고스트 현상이 최소화되고 이미지 안정성이 크게 향상되었습니다. 이를 지원하기 위해 적용된 엔진 측 변경사항은 현재 최신 버전의 언리얼 엔진에서 사용할 수 있습니다.
시간이 지나도 성능을 유지하는 설계
처음에 포트나이트가 Arm ASR을 도입한 주된 목적은 발열 및 전력 최적화였으며, 이는 특히 60Hz를 목표로 하는 고사양 디바이스에서 매우 중요한 요소였습니다. Arm ASR을 활성화하자 GPU 처리 시간이 눈에 띄게 감소했고, 덕분에 기기 표면 온도가 낮아지며 스로틀링 완화로 이어져 더 오랜 시간 안정적으로 플레이할 수 있게 되었습니다.
하지만 이는 단순히 전력을 절약하는 데 그치지 않습니다. 이 기능의 목적은 장시간의 플레이 세션 전반에 걸쳐 성능을 안정적으로 유지하는 것입니다. 기기 발열 스파이크가 줄어들면 프레임 레이트가 더 안정되고, 게임플레이는 한층 부드러워지며, 플레이어 만족도도 높아집니다.
모든 플랫폼에 적용되는 단일 솔루션: 완전히 독립적인 Arm ASR
Arm ASR은 플랫폼에 종속되지 않으며, 특정 벤더에 구애받지 않는 중립적인 솔루션입니다. 모든 GPU에서 실행되고 Vulkan, OpenGL ES, DirectX 11 및 12를 포함한 주요 그래픽 API를 모두 지원합니다.
완전히 셰이더 기반으로 동작하기 때문에, Android와 iOS를 타깃으로 하든 크로스 플랫폼 배포를 고려하든 관계없이 ASR은 어떤 파이프라인에도 매끄럽게 통합됩니다.