R201-2_3_박창현_언리얼 엔진 4 모바일 렌더링 개요

Similar documents
서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Microsoft PowerPoint - NV40_Korea_KR_2.ppt

untitled

Microsoft PowerPoint - lecture19-ch8.ppt

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

2005CG01.PDF

Microsoft PowerPoint - Next generation Shading&Rendering_KR_4.ppt

19_9_767.hwp

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

04_오픈지엘API.key

<C7D1B1B9C1A4BAB8BBEABEF7BFACC7D5C8B82D535720C7C3B7A7C6FB20C7D8B9FD20536F4320C0B6C7D5C0B8B7CE2DB3BBC1F62E687770>

PowerPoint Presentation

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

Microsoft PowerPoint - Practical performance_KR_3.ppt

63-69±è´ë¿µ

SM-G906S 갤럭시 S5 광대역 LTE-A O SM-G910S 갤럭시라운드 O SM-G920S 갤럭시 S O SM-G925S 갤럭시 S6 엣지 O SM-G928S 갤럭시 S6 엣지 plus O SM-G930S

untitled

슬라이드 1


Microsoft Word - KIS_Touchscreen_5Apr11_K_2.doc

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

갤럭시윈 SHV-E500S 안드로이드 4.2 신형태그중하 갤럭시노트 3 SM-N900S 안드로이드 4.3 신형태그상 갤럭시 S4 액티브 SHV-E470S 안드로이드 4.2 신형태그중 갤럭시코어어드밴스 SHW-M570S 안드로이드 중 갤럭시그랜드 2 SM-G7

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

Microsoft PowerPoint - gpgpu_proximity.ppt

유니 앞부속

Microsoft PowerPoint - 휴대폰13년전망_ _IR협의회.ppt

PowerPoint 프레젠테이션

Mango220 Android How to compile and Transfer image to Target

[Brochure] KOR_TunA

서현수

3D MAX + WEEK 9 Hansung Univ. Interior Design

K_R9000PRO_101.pdf

슬라이드 1

Microsoft PowerPoint - lecture17-ch8.ppt [호환 모드]

untitled

<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F436F6E736F6C D6520B0B3B9DFBFA120C0AFBFEBC7D120B9E6B9FD5FC0CCC1F

1

Microsoft PowerPoint - User Manual pptx

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

슬라이드 1

PowerPoint Presentation

3 : OpenCL Embedded GPU (Seung Heon Kang et al. : Parallelization of Feature Detection and Panorama Image Generation using OpenCL and Embedded GPU). e

ICT03_UX Guide DIP 1605

PowerPoint 프레젠테이션

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

Microsoft PowerPoint - 30.ppt [호환 모드]

초판 1쇄 발행 2013년 10월 25일 지은이 박승제 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제 호 주소 경기도 파주시 문발동 파주출판도시 뮤즈빌딩 403호 전화 / 팩스

untitled

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft Word - 9 YEBIS2_완료

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

BMP 파일 처리

01이국세_ok.hwp

김기남_ATDC2016_160620_[키노트].key

Your title goes here

Microsoft PowerPoint - o8.pptx

e-spider_제품표준제안서_160516

Microsoft PowerPoint - GameDesign6-Graphics.ppt [호환 모드]

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

보안공학연구회

04 08 Industry Insight Mobile Policy Trend Mobile Focus Global Trend In-Depth Future Trend Products Trend Hot Company

APOGEE Insight_KR_Base_3P11

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

<4D F736F F F696E74202D20C4C4C7BBC5CDB9D7C8B8B7CEBCB3B0E8C6AFB7D02DB3EBBFF8BFEC>

NFC칩이 없거나 다른 OS

Microsoft Word doc

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고


OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

1. 서 론

룩업테이블기반비선형렌즈플레어실시간렌더링방법 (Real-Time Nonlinear Lens-Flare Rendering Method Based on Look-Up Table) 조성훈 정유나 이성길 (Sunghun Jo) (Yuna Jeong) (Sungkil Lee) 요

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

PowerPoint Presentation

Title slide option A: Main title can extend over one or two lines

PowerPoint 프레젠테이션

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

SW테스트베드 장비 리스트

Building Mobile AR Web Applications in HTML5 - Google IO 2012

API 매뉴얼

Cisco FirePOWER 호환성 가이드

Windows 8에서 BioStar 1 설치하기

4S 1차년도 평가 발표자료

EEAP - Proposal Template

PowerPoint 프레젠테이션

삼성955_965_09

PowerPoint Presentation

Microsoft PowerPoint - lecture16-ch6

라우터

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

2009방송통신산업동향.hwp

Special Theme _ 스마트폰 정보보호 스마트폰은 기존 PC에서 가지고 있던 위협과 모바일 기기의 위협을 모두 포함하고 있다. 다시 말하면, 다양 한 기능이 추가된 만큼 기존 PC에서 나타났던 많은 위 협들이 그대로 상속되며, 신규 서비스 부가로 인해 신 규 위

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

<BDBAB8B6C6AEC6F95FBDC3C0E55FC8AEB4EB5FC0CCC1D6BFCF5F E687770>

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

Transcription:

UE4 모바일렌더링개요 에픽게임즈코리아박창현

Agenda 모바일 GPU 모바일디바이스 Tile-Based GPU / Early Z Test 단편화 UE4 모바일씬렌더러 ( 최신 4.19.2 기준 ) Feature Level 렌더러분석 라이팅과그림자 UE4 모바일렌더링관련 Tips

모바일 GPU 모바일디바이스 / Tile-Based GPU / Early Z Test / 단편화

모바일 AP Mobile Application Processor System-on-Chip 여러 GPU 제조사 & 여러아키텍쳐 Arm - Mali ( Utgard / Midgard / Bifrost ) ImgTec Power VR ( SGX / Rogue ) Apple A11 Bionic Qualcomm Adreno Etc 이후내용들은널리통용되는기종들위주로 < 이미지출저 : https://www.anandtech.com/show/7846/the-difference-between-snapdragon-800-and-801-clearing-up-confusion >

모바일 AP 갤럭시시리즈 : Exynos Adreno / Mali GPU iphone 시리즈 ( 6S, SE, 7 ) : A9, A10 Fusion Power VR GPU iphone 시리즈 ( 8, X ) : A11 Bionic 자체개발 GPU ( Metal 2 지원 )

모바일 GPU Unified Shader Architecture 모든 Shader Processing Unit 이어떤타입의셰이딩연산이든처리 VS, GS, TS, PS, CS, < 이미지출저 : https://community.arm.com/graphics/b/blog/posts/the-mali-gpu-an-abstract-machine-part-3---the-midgard-shader-core >

< 이미지출저 : http://www.embedded-computing.com/embedded-computing-design/understand-the-mobile-graphics-processing-unit

모바일 GPU Unified Memory Architecture CPU 와같은 Physical Memory CPU 와다른 Logical Memory 과거에는 GPU 만접근가능한 Window 를지정 GPU <-> CPU 메모리접근 : 복사발생 CPU MMU 와 GPU 의 MMU 가같은주소공간을사용

모바일하드웨어 Battery 같은성능이라도저전력이라면더선호 메인메모리도 DDR 이아닌 LPDDR 을사용 메모리대역폭사용이많으면, 배터리소모도크다 Device Temperature 발열이심하면자동으로성능 Throttling CPU / GPU 의성능을크게낮춰기기가쉴수있게한다

모바일성능 다른플랫폼대비낮은 Memory Bandwidth Fillrate (Pixel/Texel) GFLOPS 성능을올리기위해 Tile-Based GPU Early Z Testing

모바일 GPU Tile-Based 일반적인 GPU 한장면 을그리기위해필요한리소스를 GPU 메모리에올려놓는다 리소스 : SceneColor / DepthStencil / Tile-based GPU 모든렌더링을타일단위로진행 Ex. 1024 x 768 (32 x 32) 768 Tiles Tile 크기는제조사마다다름 < 이미지출저 : https://www.imgtec.com/powervr/graphics/architecture/ >

모바일 GPU Tile-Based Tile-based GPU 한타일 을그리기위해필요한리소스만을 in-chip 메모리 에올려놓는다 In-chip 메모리와 ShaderCore 간의데이터전송은아주저렴 단점 한장면을여러타일로나누고관리하기위한추가적인관리비용 < 이미지출저 : https://www.anandtech.com/show/8234/arms-mali-midgard-architecture-explored/4 >

모바일 GPU Early Z Test < 이미지출저 : https://www.imgtec.com/powervr/graphics/architecture/ >

모바일 GPU Early Z Test Z Test = Depth Test 일반적인 Depth Test PS 후렌더링결과물을타겟에블렌딩할지결정 Test 실패시 Drop Early Z Test 일반적인 Depth Test Pixel Shading 전에미리 Drop 여부판단 Vendor/Architecture 마다다른접근법을추가 Mali GPU Forward Pixel Kill PowerVR GPU Hidden Surface Removal < 이미지출저 : https://www.imgtec.com/powervr/graphics/architecture/ >

모바일 GPU 단편화 Ex. 같은 ES3.1 인데, 어느기종은되고다른기종은안되고 Ex. 같은제조사같은모델이지만, 어느디바이스는되고다른디바이스는안되고 GPU 제조사 GPU Architecture 모바일 AP / 디바이스제조사 그래픽스드라이버스택 Ex. GPU 는 ES3.1 을지원하지만, 드라이버가지원 X Ex. 빌드버전 A 에서는안되었지만, B 에서는동작

모바일 GPU 단편화 Metal 단편화가거의없음. 하나의제조사가모든것을관리 OpenGL ES glgetstring( ) GL_VENDOR / GL_RENDERER / GL_VERSION / GL_SHADING_LANGUAGE_VERSION / GL_EXTENSIONS UE4 FPlatformOpenGLDevice::Init() / FOpenGLBase::ProcessExtensions( ) UE4 렌더링그래픽스 API 결정 : Ex. OpenGL ES2.0 과 ES3.1 UE4 디바이스별 Feature 결정 : Ex. GL_OES_texture_half_float ES2 fallback

UE4 모바일씬렌더러 Feature Level / 렌더러분석 / 라이팅과그림자

플랫폼별지원그래픽스렌더링 API Desktop Windows = D3D / OpenGL / Vulkan macos = Metal / OpenGL / Vulkan Linux = OpenGL / Vulkan Mobile Android = OpenGL ES / Vulkan ios = Metal / OpenGL ES 3.0 / Vulkan HTML = WebGL

UE4 지원그래픽스렌더링 API Desktop Windows = D3D / OpenGL / Vulkan(Experimental) macos = Metal / OpenGL / Vulkan Linux = OpenGL / Vulkan(Experimental) Mobile Android = OpenGL ES / Vulkan(Experimental) ios = Metal / OpenGL ES 3.0 / Vulkan HTML = WebGL

UE4 지원그래픽스렌더링 API 언리얼엔진에서관리법 플랫폼및버전을떠나지원되는기능단위구분 Feature Level ES2 : OpenGL ES2.0 ES3_1 : OpenGL ES3.1 & Metal & Vulkan SM4 : DX10 & OpenGL 3 SM5 : DX11+ & OpenGL 4+

UE4 렌더러 렌더러? 렌더링파이프라인 하나의 Geometry 를그리는과정 RenderState 설정 Draw Call 로시작 최종결과물 RenderTarget 은텍스쳐혹은프레임버퍼 < 이미지출저 : https://open.gl/drawing >

UE4 렌더러 렌더러? 렌더링패스 여러지오메트리를엔진레벨에서한데묶어그리는것. Ex. BasePass Pass / Light Pass / Translucency Pass 즉, 하나의패스에서여러 DrawCall 을요청. Rendering Pass < 이미지출저 : http://vispy.org/modern-gl.html>

UE4 렌더러 렌더러? 여러패스와연산을통해, 데이터로이루어진씬을그려내는역할 Rendering Pass A Renderer Rendering Pass B Rendering Pass C 각 Geometry 을그리는방식에따라크게두가지로구분 Deferred / Forward Shading

UE4 렌더러 Deferred Shading For each mesh Render albedo/normal/etc into G-buffer Render each light Read infos from G-buffer Accumulate lighting Forward Shading For each mesh For each light Accumulate lighting

UE4 렌더러 Deferred Shading Gbuffer 사용을기반으로합성 지연된패스에서 Shading 계산 다이나믹라이팅렌더링에좋음 Surface attribute 변경불편 기능비활성화에유연 Forward Shading 하나의패스에서 Shading 계산 Translucent Surface 렌더링에좋음 동적라이트추가시성능부하가크다 Surface Attribute 에유연 하드웨어 MSAA 를사용할수있음

UE4 렌더러 Deferred Shading in UE4 PC / Console 용 (SM4 이상지원 ) Deferred Scene Renderer Forward Shading in UE4 Mobile 용 (ES3_1 이하 ) Mobile Scene Renderer

UE4 렌더러 Mobile Deferred Shading? G-buffer 를위해 Multiple Render Target 기능이필요 OpenGL ES 3.0 / Metal Specification 현재지원하지않고있다. G-buffer 사용시많은대역폭요구 / 복잡한연산필요 현세대의디바이스에서게임을플레이가능할정도의성능이나오지않음 언젠가디바이스가더발전을한다면? 대안 : Desktop-Class Forward Renderer (ios only) 모바일에서높은퀄리티요구에대한대안 메탈세이더를데스크탑포워드렌더러기준으로컴파일

Mobile Scene Renderer 동작방식분석 프로젝트 Sun Temple = Mobile Features 쇼케이스 RenderDoc 그래픽스디버거 독립프로그램 UE4 플러그인통합제공 패스별결과분석에용이 다운로드 : https://developer.nvidia.com/ue4-sun-temple

Mobile Scene Renderer 사용법

Mobile Scene Renderer 위 아래 중요함수 / 렌더패스순차나열 패스내 DrawCall 각각확인가능 중요한부분만간추리면 InitViews MobileBasePass Translucency PostProcessing

Mobile Scene Renderer InitViews 그려질 Geometry 를선별 Mobile Base Pass 불투명한 Geometry 를그린다 Translucency Pass 반투명한 Geometry 를그린다 PostProcessing 후처리를한다

Mobile Scene Renderer 1. 그려질 Geometry 를선별 FSceneRenderer::initView( ) 불필요한 Geometry 를그리지않는것은성능을아끼기에좋은방법 가시성 Visibility 확인 보이는것만목록에추가 Triangle 이아닌객체단위

UE4 모바일씬렌더러 1. 그려질 Geometry 를선별 가시성 Visibility 확인 in Mobile Distance Culling Frustum Culling Precomputed Visibility

Distance Culling

Frustum Culling

Precomputed Visibility

Mobile Scene Renderer 1. 그려질 Geometry 를선별 가시성 Visibility 확인 in Mobile Distance Culling Frustum Culling Precomputed Visibility Occlusion Culling (4.20 지원예정 ) Software Occlusion culling Hareware Occlusion queries 이어지는 < 포트나이트 > 모바일 : 오클루전컬링 by Dmitriy Dyomin 세션을참고하세요. 렌더링파이프라인레벨컬링 : Clipping, Back-face culling

Mobile Scene Renderer 1. 그려질 Geometry 를선별 관련콘솔커맨드 stat initviews FreezeRendering 후 Fly 나 Ghost 활용

stat initviews

FreezeRendering 후 Fly / Ghost

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 FMobileSceneRenderer::RenderMobileBasePass( ) 각 Geometry 에대해 라이팅 Lighting & 그림자 Shadows 제일중요하고제일복잡한패스 라이팅 & 그림자 는두가지접근이존재 Dynamic / Static

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Dynamic Lighting & Shadows 라이팅 라이트는타입 ( 포인트, 스포트 ) 에따라다른모양의바운드를갖는다 바운드내에존재하는지오메트리는라이팅받는다고판단 지오메트리셰이딩연산시영향을주는라이트에추가 그림자 주로 Shadow Map 사용 픽셀에서주어진라이트가보이는지보이지않는지판단 라이트에서씬을바라보는깊이정보가필요

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Dynamic Lighting & Shadows 장점 라이트의색, 위치, 추가 / 제거를마음대로할수있다. 지오메트리를그리기위해추가적인준비를할필요가없다. 단점 그림자는성능에큰영향을준다 라이트를추가하는것도성능에큰영향을준다

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Dynamic Lighting & Shadows in UE4 Mobile 라이팅 Movable 디렉셔널라이트지원 ( 기본값 : False) 포인트라이트제한된 Movable 지원 ( 최대 4 개 ) 스포트라이트 Movable 미지원 그림자 Cascaded Shadow Map 만지원

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Static Lighting & Shadows 라이팅결과가변하지않는다면, 미리계산해놓고필요할때가져다쓸수있다. Real-time 에성능세이브 + Offline 에시간을충분히쓸수있어퀄리티도더좋다 즉, Dynamic Lighting & Shadows 보다적은비용으로높은퀄리티를얻을수있다.

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Static Lighting & Shadows 장점 실시간에엄청빠르다 복잡한라이팅시나리오를계산할수있다. 실제같은그림자표현이가능하다. 단점 추가적인메모리를차지한다 라이팅빌드시시간이많이든다 무언가변경이있을때마다라이트재빌드를해야한다

UE4 Precomputed / Precalculated 라이트매스 Directional LightMap ShadowMap Precomputed Radiance Transfer Indirect Lighting Cache Volumetric Lightmap 리플렉션캡쳐 Image Based Lighting 메시디스턴스필드 DF Shadows DF Indirect Shadows DF Ambient Occlusion

UE4 Precomputed / Precalculated 라이트매스 Directional LightMap ShadowMap Precomputed Radiance Transfer Indirect Lighting Cache Volumetric Lightmap (SM4) 리플렉션캡쳐 Image Based Lighting 메시디스턴스필드 DF Shadows DF Indirect Shadows (SM5) DF Ambient Occlusion (SM5) 모바일에서는위와같은, 미리계산된라이팅 / 정보지원

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 Static Lighting & Shadows in UE4 Mobile 라이팅 모든타입 ( 디렉셔널, 포인트, 스포트 ) 의 Static Mobility 라이트지원 Stationary Directional Light 지원 Indirect 라이팅지원 그림자 구워진라이트맵혹은셰도우맵사용 스태틱메시에대해 Distance Field Shadow 사용가능

Mobile Scene Renderer 2. 불투명한 Geometry 를그린다 최고의방법은, Dynamic 과 Static 을잘섞어쓰는것 Static 방식 원거리의약한라이팅을표현할때사용하여성능을아낌 실시간간접광을얻어올수있는유일한방법 Dynamic 방식 씬이플레이어의행동에반응하는것처럼만들기위한방법 정적인라이팅 / 그림자에동적인형태를덧입혀현실감을추가 Stationary Directional Light = Directional Lightmap + CSM

UE4 모바일씬렌더러 2. 불투명한 Geometry 를그린다 정리! 모바일지원라이팅기능 Directional Lightmaps Indirect Light Cache Image based specular lighting Linear HDR Lighting Distance field shadows + analytical specular on the sun Baked Shadow 혹은 Cascaded Shadow Map Dynamic Mesh 는라이팅받음.

UE4 모바일씬렌더러 2. 불투명한 Geometry 를그린다 Color Range 변경

UE4 모바일씬렌더러 3. 반투명한 Geometry 를그린다 FMobileSceneRenderer::RenderTranslucency( ) 반투명한물체들은뒤에비춰보일수있는배경이필요 Geometry 를그리는것은크게다르지않으나 덮어쓰기가아닌 Alpha Blending 진행

UE4 모바일씬렌더러 3. 반투명한 Geometry 를그린다

UE4 모바일씬렌더러 4. 후처리를한다 FPostProcessing::ProcessES2( ) 후처리 : 렌더링과정제일마지막에적용되는비주얼이펙트 Off-screen 렌더타겟들 (SceneColor/SceneDepth/etc) 사용 픽셀셰이더바운드 모바일과다른플랫폼의기능 / 퀄리티차이가가장많이나는부분

UE4 모바일씬렌더러 4. 후처리를한다 UE4 의모바일포스트프로세싱 퀄리티를조금희생하더라도, 성능을확보하도록구현 필수 : Mobile HDR True

UE4 포스트프로세싱 In Deferred Renderer ColorGrading WhiteBalance Global Shadows Midtones Highlights Misc Film MobileTonemapper Lens Chromatic Aberration Bloom Dirt Mask Camera Exposure Lens Flares Image Effects Depth of Field Rendering Features Post Process Material Ambient Cubemap Ambient Occlusion Global Illunmination Motion Blur Light Propagation Volume Screen Space Reflection Misc

UE4 모바일포스트프로세싱 r.mobilehdr 1 & r.mobile.tonemapperfilm 1 ColorGrading WhiteBalance Global Shadows Midtones Highlights Misc Film MobileTonemapper Lens Chromatic Aberration Bloom (Limited) Dirt Mask Camera (Limited) Exposure (Limitied) Lens Flares Image Effects Depth of Field (Limited) Rendering Features Post Process Material Ambient Cubemap Ambient Occlusion Global Illunmination Motion Blur Light Propagation Volume Screen Space Reflection Misc

UE4 모바일포스트프로세싱 r.mobilehdr 1 & r.mobile.tonemapperfilm 0 ColorGrading WhiteBalance Global Shadows Midtones Highlights Misc Film MobileTonemapper Lens Chromatic Aberration Bloom (Limited) Dirt Mask Camera (Limited) Exposure (Limitied) Lens Flares Image Effects (Limited) Depth of Field (Limited) Rendering Features Post Process Material Ambient Cubemap Ambient Occlusion Global Illunmination Motion Blur Light Propagation Volume Screen Space Reflection Misc 참조 : https://docs.unrealengine.com/en-us/platforms/mobile/postprocesseffects

UE4 모바일씬렌더러 4. 후처리를한다

Tips UE4 모바일프리뷰 / Tips / 모바일최적화

UE4 모바일프리뷰 모바일플랫폼개발을돕기위한편의기능 모바일 Feature 시뮬레이션 모바일그래픽스렌더링 API : OpenGL ES / Metal / Vulkan PC 는 Metal / OpenGL ES 지원하지않음 어떻게? D3D11 / OpenGL 의일부 Feature 만사용 시뮬레이션 실제디바이스에서와동일한셰이딩퀄리티를보장하지않음.

모바일렌더링 Tips 모바일 GPU 에서 Read back 은엄청느리다 GPU 메모리위의 FrambeBuffer 에대한 ReadPixel 발생시 모든타일이완료된후에원하는 Pixel 정보를돌려준다 즉, 그래픽스파이프라인이멈추게되어성능이크게떨어진다 드라이버레벨최적화 Ex. Opaque 가한번도그려지지않은타일에대해깊이버퍼초기화생략 깊이정보를가져다쓰는연출에서문제를일으키기도.. 성능쓰로틀링 Silver Bullet 은없다. CPU / GPU 를자주쉬게해주어야한다.

모바일최적화 Application Processor 최적화 API Level 최적화 Vertex Processing 최적화 Fragment Processing 최적화 Bandwidth 최적화 Misc. 최적화 https://developer.arm.com/docs/dui0555/b/miscellaneous-optimizations

UE4 모바일최적화 Draw call 최소화 드로우콜발생시어떤지오메트리를그리냐에무관하게 항상 메모리할당, 데이터복사등 프로세스진행 최대한메시가배칭되도록컨텐츠를구성하세요 RenderState 변경최소화 그래픽스파이프라인은상태머신 / 상태변경하나하나가오버헤드 이전상태가남아서다음지오메트리그릴때영향을주는형태 UE4 는패스별지오메트리특성별로그룹화시킴.. 렌더러수정시유의 성능을올리려면그래픽스파이프라인이쉬지않도록

UE4 모바일최적화 Vertex Processing LOD 를적극적으로사용하세요 세세한지오메트리는노멀맵으로대체 객체단위컬링을대충하고, Triangle Clipping 에기댄다면그래픽스파이프라인에게큰부담 Pixel Processing Overdraw 를최대한줄이세요. 성능버짓에따라가용할만한복잡도의 Pixel Shader 사용 전체해상도를줄여연산할픽셀수조절 : r.screenpercentage {%}

UE4 모바일최적화 메모리대역폭 데스크탑 GPU 대비많이부족한스펙 : 모바일플랫폼의주된병목 대역폭은공유자원 CPU 등에서크고빈번한데이터접근시, GPU 가사용할대역폭이부족 GPU 에서너무많이메모리대역폭사용시, CPU 가제성능을못냅니다 메모리대역폭절약 = 배터리소모최소화 캐시의활용은성능확보및배터리절약에도도움이됩니다. 텍스쳐밉맵 / 텍스쳐압축 / 가능한낮은 Bit depth / LOD

감사합니다. QnA