PART 7 - 강의 4/5

GPU 벤더별 최적화

NVIDIA, AMD, Intel GPU 아키텍처별 튜닝

01

GPU 아키텍처 차이

특성 NVIDIA (Ada) AMD (RDNA 3) Intel (Arc)
RT 코어 3세대 RT Cores Ray Accelerator Ray Tracing Units
Mesh Shader 완전 지원 완전 지원 완전 지원
Async Compute 우수 매우 우수 보통
VRAM 관리 우수 Infinity Cache ReBAR 최적화
02

NVIDIA 최적화

NVIDIA GPU 설정 ; NVIDIA 최적화 (RTX 30/40 시리즈) [/Script/Engine.RendererSettings] ; HWRT 적극 활용 (강력한 RT 코어) r.Lumen.HardwareRayTracing = 1 r.Lumen.HardwareRayTracing.LightingMode = 2 ; DLSS 활용 (TSR 대신) r.NGX.Enable = 1 r.NGX.DLSS.Enable = 1 r.NGX.DLSS.Quality = 1 // Quality 모드 ; Reflex 저지연 r.NGX.DLSS.EnableReflex = 1 ; Shader Execution Reordering (Ada) r.RayTracing.SER = 1 ; Mesh Shader 활용 r.MeshDrawCommands.UseMeshShaders = 1
NVIDIA 강점

RT 코어 성능이 뛰어나 HWRT Lumen이 효율적입니다. DLSS와 Reflex 같은 독점 기술도 활용하세요.

03

AMD 최적화

AMD GPU 설정 ; AMD 최적화 (RX 6000/7000 시리즈) [/Script/Engine.RendererSettings] ; SWRT 선호 (래스터 성능 강점) r.Lumen.HardwareRayTracing = 0 r.Lumen.TraceMeshSDFs = 1 ; FSR 활용 r.FidelityFX.FSR.Enabled = 1 r.FidelityFX.FSR.QualityMode = 1 ; Async Compute 적극 활용 (AMD 강점) r.AsyncCompute = 2 r.Nanite.AsyncCompute = 1 r.Lumen.AsyncCompute = 1 ; Wave32 모드 (RDNA 최적화) r.D3D12.WaveOps = 1 ; Infinity Cache 친화적 설정 r.Streaming.PoolSize = 1536 // 캐시 활용
AMD 강점

래스터 성능과 Async Compute가 강점입니다. SWRT Lumen이 HWRT보다 효율적인 경우가 많습니다.

04

Intel Arc 최적화

Intel Arc GPU 설정 ; Intel Arc 최적화 (A750/A770) [/Script/Engine.RendererSettings] ; SWRT 권장 (RT 성능 제한) r.Lumen.HardwareRayTracing = 0 r.Lumen.TraceMeshSDFs = 1 ; XeSS 활용 r.XeSS.Enable = 1 r.XeSS.Quality = 1 ; ReBAR 최적화 r.D3D12.ResidencyManagement = 1 ; Nanite 보수적 설정 r.Nanite.MaxPixelsPerEdge = 1.5 ; 드라이버 오버헤드 최소화 r.D3D12.MaxCommandsPerCommandList = 512
Intel Arc 주의사항

Intel Arc는 드라이버 성숙도가 NVIDIA/AMD보다 낮습니다. 최신 드라이버 유지와 보수적인 설정을 권장합니다.

05

런타임 GPU 감지

C++ GPU 벤더 감지 // GPU 벤더에 따른 자동 설정 void ApplyVendorOptimizations() { FString GPUVendor = GRHIVendorName; if (GPUVendor.Contains("NVIDIA")) { // NVIDIA: HWRT 활성화 IConsoleManager::Get().FindConsoleVariable( TEXT("r.Lumen.HardwareRayTracing"))->Set(1); // DLSS 확인 및 활성화 if (IsDLSSSupported()) EnableDLSS(); } else if (GPUVendor.Contains("AMD")) { // AMD: SWRT + Async Compute IConsoleManager::Get().FindConsoleVariable( TEXT("r.Lumen.HardwareRayTracing"))->Set(0); IConsoleManager::Get().FindConsoleVariable( TEXT("r.AsyncCompute"))->Set(2); // FSR 확인 및 활성화 if (IsFSRSupported()) EnableFSR(); } else if (GPUVendor.Contains("Intel")) { // Intel: 보수적 설정 IConsoleManager::Get().FindConsoleVariable( TEXT("r.Nanite.MaxPixelsPerEdge"))->Set(1.5f); // XeSS 활성화 if (IsXeSSSupported()) EnableXeSS(); } }
SUMMARY

핵심 요약

  • NVIDIA: HWRT + DLSS + Reflex 활용
  • AMD: SWRT + Async Compute + FSR 활용
  • Intel: 보수적 설정 + XeSS
  • 런타임 감지로 최적 설정 자동 적용
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: SWRT vs HWRT 벤더별 비교

NVIDIA GPU에서 HWRT와 SWRT의 성능을 ProfileGPU로 비교하고, AMD GPU에서 동일한 비교를 수행하세요. 각 벤더에서 어떤 모드가 더 효율적인지 확인하세요.

실습 2: 업스케일러 비교

동일 씬에서 TSR, DLSS, FSR, XeSS를 각각 Quality 모드로 설정하여 시각적 품질과 성능 향상 비율을 비교하세요. 모션이 많은 환경에서의 고스팅(ghosting) 차이도 관찰하세요.

심화 과제

런타임 GPU 감지 시스템을 구현하세요. GRHIVendorName을 기반으로 NVIDIA/AMD/Intel을 감지하고, 각 벤더에 최적화된 설정(HWRT/SWRT, 업스케일러, Async Compute)을 자동 적용하는 코드를 작성하세요. 3개 이상의 서로 다른 GPU에서 테스트하세요.