▶ AMD Radeon RX(라데온 RX) GPU의 인게임 업스케일링 기술, FidelityFX Super Resolution 3.0 통합 출시 발표
- AMD FidelityFX Super Resolution 3.0 적용 게임 : 포스포큰(스퀘어 에닉스 - 루미너스 프로덕션) / 이모탈스 오브 아베움(어센던트 스튜디오 - 일렉트로닉 아츠)
[①]. AMD FidelityFX Super Resolution 3.0 데이터 흐름도
- ①. 생성 프레임 추가 : FidelityFX Super Resolution 2.0의 업스케일링을 확장
('AMD 플루이드 모션 프레임 II'에서 향상된 프레임 보간 및 광학 흐름을 추가)
- ②. 게임 UI의 처리 방법 : FSR 3.0은 게임이 '60 FPS'의 전체 렌더링 루프만 제공하더라도 부드럽고 유연한 120 FPS UI를 제공이 가능함
(애니메이션이 포함된 복잡성 UI는 애니메이션이 디스플레이 프레임 속도에 맞는 방식으로 구현)
- ③. FSR 3.0의 생성 프레임 : 모니터에 표시하는 게임 이미지를 가져오는 대신 FSR 3.0의 '광학 흐름' 워크로드에 전달하는 방식으로 작동.
- ④. '실제' & '생성' 프레임 : 사용자에게 표시되는 시점에 최종 결정은 '광학 흐름' & ' 프레임 생성 워크로드'의 비동기식 컴퓨팅 디스패치를 모두 처리하는 '교체 스왑 체인 구현'에 이루어짐[프레임 속도의 처리 및 궁극적 이미지를 디스플레이에 표시하기 위해서 OS(운영체제)로 내보냄]
- ⑤. FSR 3.0 기능의 결합 옵션 : 다양한 옵션으로 게임 개발자는 시스템을 '렌더링 엔진 프레임워크'에 유연하게 적용이 가능함
(옵션에 따라서 다양한 방식으로 작동에 영향을 미침)
- ⑥. 광학 흐름 워크로드 : 게임 프레임 입력과 관련하여 성능 & 품질의 개선을 모두 도입하고자 'AMD 플루이드 모션 프레임'에서 개발됨
(계산 완료 후 결과를 'AMD FSR 3.0 프레임 생성 워크로드'에 전달)
※ 이 워크로드는 비동기식 컴퓨팅에서 실행되어 게임 렌더링 파이프라인에 대한 영향을 감소 및 표시할 수 있는 신규 게임 프레임을 생성이 가능함.
☞ FidelityFX Super Resolution 3.0의 개발 목표 : 순수하게 생성 프레임을 사용하여 뛰어난 경험을 제공하는 데 중점을 두었음
① 다양한 GPU H/W에서 지원 및 데스크탑 플랫폼에만 국한하지 않음.
② 프레임 생성의 사전 보간, 사후 업스케일링 프레임 속도가 최소 60 FPS인 상황에서 사용하는 것이 좋음(이상적인 상황에서 '60 FPS' 게임에서 최대 '120 FPS의 이미지를 생성')
[②]. 통합 옵션 및 관찰
[②-1]. 윈도우 OS(다이렉트X 12) : FSR 3.0은 '비동기 작업 부하 & 프레임 속도'를 구현하는 대체 스왑 체인을 제공
(개발자는 'AMD FidelityFX 기술'과 마찬가지로 자신에 필요에 맞게 조정이 가능함)
[②-2]. AMD FidelityFX Super Resolution 3.0(업스케일링 & 프레임 생성 파이프라인]
- ①. 주요 차별화 요소 : 'V-SYNC'의 활성화 모드 & 비활성화 모드(프레임 속도 측면)
- ②. 'V-SYNC' 활성화 모드 : 속도는 모니터의 '예상 새로 고침 빈도'에 따라 달라지며, 가능한 빠른 게임 프레임을 표시함
(궁극적으로 모니터는 뒤에서 일관된 방식으로 대기 중인 프레임 이미지로 전환)
- ③. 'V-SYNC' 비활성화 모드 : 알고리즘이 더 복잡해짐
(렌더링이 CPU 제한 vs GPU 제한인 경우 'ALLOW_TEARING' 플래그가 사용되는 경우에 대한 방법이 있음)
→ 일반적인 많은 '프레임'을 획득 : 'ALLOW_TEARING' 플래그가 설정된 낮은 새로 고침 모니터에서 'V-SYNC'를 비활성화할 수 있음.
(화면이 찢어지는 것을 볼 수 있으나, FPS 카운터는 더 높은 디스플레이 프레임 속도를 반영해야 함)
→ 프레임 페이싱 시스템 : 더 많은 대기 이벤트가 사용됨(V-SYNC가 활성화되었을 때는 지그재그가 아닌 더 부드러운 프레임 시간 그래프로 읽어야 함 - 새로 고침이 낮은 모니터 사용 시의 게임 플레이 경험은 이로 인해 이점을 얻을 수 없음)
- ④. '지그-재그' 패턴 표시 : AMD FSR 3.0을 사용하는 게임은 '프레임 시간 / 현재 타이밍 그래프'에 표시됨
- ⑤. 정확한 프레임 검사(디스플레이 파이프라인) : 이 모드의 게임 플레이 경험은 일관된 타이밍으로 권장
(게임 측 프레임 시간 제한을 '½ 새로 고침 빈도'로 설정된 것과 결합하면 고품질 게임 경험으로 적용됨)
[②-3]. 언리얼 엔진 5
- ①. 언리얼 엔진 5(UE5) 플러그인 : 윈도우 OS 및 플랫폼 지원(프레임 속도 & UI 구성 방법을 제어하기 위한 시작점을 제공하는 옵션이 존재)
- ②. UE5 엔진용 FSR 3.0 : RHI, 네이티브 '다이렉트X 12'(2가지 백엔드 유형)
- ③. RHI 백엔드 : 플랫폼에 구애받지 않고, 대부분의 상황에서 효과적으로 작동함
(FSR 3.0 컴퓨팅 워크로드의 비동기 실행을 미지원하여 관련 성능 비용과 함께 직렬화함)
→ 프레임 속도는 언리얼 엔진의 '기본 프레젠테이션 프레임워크'에 의해 처리됨
→ AMD FSR 3.0의 이상적 사용(RHI 백엔드를 사용, 120Hz 이상 지원 모니터에서 'V-SYNC가 활성화'된 경우임)
→ RHI 백엔드의 장점 : UI(사용자 인터페이스)가 인공물이 없는 명확성을 위해서 '보간 프레임 + 실제 프레임' 모두에 기본 렌더링화.
- ④. 네이티브 '다이렉트X 12' 백엔드 : 비동기식 워크로드와 풀 프레임 페이싱을 완벽하게 지원하여 특정 상황에서 더 높은 성능을 발휘함
→ 네이티브 'DX12' 백엔드 렌더링 : UI가 맨 위에 렌더링되기 직전, FSR 3.0에 장면 버전이 제공되는 '비-HUD' 시스템을 통해서 발생
→ FSR 3.0 알고리즘은 UI 명확성을 유지하기 위해 다양한 기술을 적용하지만, 특정 UI 기술에 인공물이 발생할 가능성이 있음
※ AMD FidelityFX Super Resolution 3.0의 설계 목표 : S/W 엔지니어링의 많은 부분에서 각 방법의 장/단점이 있으나, 게임 개발자가 자신의 제품에 적합한 방법을 선택 및 유연성을 적용하도록 지원하는 것.
(FSR 3.0 통합으로 도입된 타이틀은 : 원하는 방식으로 진행될 수 있고, 권장 사항이 있으나 구현 방법에 대한 궁극적 결정은 게임 개발사에게 맡기는 것)
[3]. 설정과 목표
- 120Hz 모니터 + FidelityFX Super Resolution 3.0(프레임 생성 미적용 게임) : 90 FPS로 실행됨
- 120Hz 모니터 + FidelityFX Super Resolution 3.0(프레임 생성 미적용 게임) + 'V-SYNC(활성화)' : 보간된 프레임을 '120Hz 모니터'의 새로 고침 빈도로 떨어드림(V-SYNC 비활성화하거나 '게임 내 설정'을 사용하여 FPS를 필요한 모니터의 새로 고침 빈도로 제한해야 함)
→ 선택에 따라 차이가 발생하는 게임에서 '지연 시간'에 대한 부드러운 페이싱을 절충이 가능함.
※ 프레임 속도 논리를 방해할 수 있는 경우에는 기능을 비활성화 : AMD 라데온 아드레날린 소프트웨어 → 'Enhanced SYNC(싱크 향상)'의 비활성화
[4]. 지연 시간
- 대기 시간 추가 : 프레임의 보간시 추가되며, 의도적으로 설계되었음.(내장된 대기 시간 감소 기술로 영향을 최소화하도록 개발됨)
- 게임 개발사 : 타이틀의 대기 시간 영향을 최소화하기 위해서 '일반 & 크로스 플랫폼' 권장 사항을 구현이 가능함
[5]. AMD FidelityFX Super Resolution 3.0의 적용 게임 시연 테스트 결과 값
①. 포스포큰(스퀘어 에닉스 - 루미너스 프로덕션) → ('울트라-하이' 설정값, 레이 트레이싱, 모션에서 광자까지의 지연 시간)
①-1. 4K UHD(2160p) 해상도[3rd RDNA(라데온 RX 7900XTX GPU)
- FSR 3.0(성능 모드 + 프레임 생성) : 55ms(164 FPS)
- FSR 3.0(성능 모드) : 48ms(90 FPS)
- FSR 3.0(비활성화) : 81ms(55 FPS)
①-2. QHD(1440p) 해상도[2nd RDNA(라데온 RX 6800XT GPU)
- FSR 3.0(성능 모드 + 프레임 생성) : 58ms(160 FPS)
- FSR 3.0(성능 모드) : 55ms(83 FPS)
- FSR 3.0(비활성화) : 81ms(56 FPS)
② 이모탈스 아베움(어센던트 스튜디오 - 일렉트로닉 아츠) → ('울트라-하이' 설정값, 레이 트레이싱, 모션에서 광자까지의 지연 시간)
②-1. 4K UHD(2160p) 해상도[3rd RDNA(라데온 RX 7900XTX GPU)
- FSR 3.0(성능 모드 + 프레임 생성) : 40ms(167 FPS)
- FSR 3.0(성능 모드) : 37ms(107 FPS)
- FSR 3.0(비활성화) : 72ms(57 FPS)
②-2. QHD(1440p) 해상도[2nd RDNA(라데온 RX 6800XT GPU)
- FSR 3.0(성능 모드 + 프레임 생성) : 43ms(128 FPS)
- FSR 3.0(성능 모드) : 37ms(113 FPS)
- FSR 3.0(비활성화) : 63ms(68 FPS)
※ 테스트를 통해서 대기 시간이 예상 범위 내에 있음을 확인했으며, FSR 3.0의 '업스케일링 + 프레임 생성'을 모두 활성화하면 대기 시간은 일반적으로 FSR 3.0의 비활성화의 기본 렌더링 환경보다 적음.
[6]-1. AMD FidelityFX Super Resolution 3.0의 적용 게임 시연 테스트 결과 값
(GPU 성능 → '(성능 모드)' 업스케일링 + 생성 프레임 / 포스포큰)
①. 2nd RDNA GPU(라데온 RX 6000)
- 라데온 RX 6650XT[QHD(1440p)] : 35 FPS(비활성화) / 114 FPS(활성화)
- 라데온 RX 6750XT[QHD(1440p)] : 48 FPS(비활성화) / 154 FPS(활성화)
- 라데온 RX 6800XT[4K UHD(2160p)] : 37 FPS(비활성화) / 129 FPS(활성화)
②. 3rd RDNA GPU(라데온 RX 7000)
- 라데온 RX 7600[QHD(1440p)] : 38 FPS(비활성화) / 118 FPS(활성화)
- 라데온 RX 7800XT[4K UHD(2160p)] : 39 FPS(비활성화) / 134 FPS(활성화)
- 라데온 RX 7900XTX[4K UHD(2160p)] : 58 FPS(비활성화) / 201 FPS(활성화)
[6]-2. AMD FidelityFX Super Resolution 3.0의 적용 게임 시연 테스트 결과 값
(GPU 성능 → '네이티브-AA' + 생성 프레임 / 포스포큰)
①. 2nd RDNA GPU(라데온 RX 6000)
- 라데온 RX 6750XT[FHD(1080p)] : 69 FPS(비활성화) / 123 FPS(활성화)
- 라데온 RX 6800XT[QHD(1440p)] : 65 FPS(비활성화) / 115 FPS(활성화)
②. 3rd RDNA GPU(라데온 RX 7000)
- 라데온 RX 7800XT[QHD(1440p)] : 69 FPS(비활성화) / 120 FPS(활성화)
- 라데온 RX 7900XTX[4K UHD(2160p)] : 58 FPS(비활성화) / 97 FPS(활성화)