그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
그래픽 최적화 함께하지 않겠나
http://unite.unity3dkorea.com
그래픽 최적화 함께하지 않겠나
ozlael.oz
ozlael
ozlael.tistory.com
Support Engineer (john Oh)
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
-
- (Draw Call)
- Batch & Set Pass
- (Batching)
-
- (Culling)
CPU
DRAW!
Draw Call :
GPU
OK
(Draw Call)
Batch & Set Pass
(Batching)
(Culling)
Frame 1 Frame 2 Frame 3 Frame 4 Frame 5
Frame 6 Frame 7 Frame 8 Frame 9 Frame 10
1 sec
0 sec
10FPS(100ms/frame)
1 frame ...
1 frame ...
1 frame ...
1 frame ...
1 frame ...
1 frame ...
1 frame ...
...
...
CPU GPU
CPU GPU
info
info
Batch & Set Pass
(Batching)
(Culling)
CPU
GPU
Frame
End
Frame
start
CPU
GPU
Frame
End
Frame
start
Logic AI Physics
Loading GC …
+Draw Call
CPU
DRAW!
Draw Call
GPU
OK
CPU
DRAW!
TEXTURE!
SHADER!
VERTEX BUFFER!
ALPHA BLENDING!
CHANGE STATES
Draw Call
GPU...
USE Z-BUFFER!
TRANSFORM
CPU (App)
GPU
COMMAND
Draw
COMMAND
SetTexture
COMMAND
Set Texture
COMMAND
Set VBO
COMMAND
Set Shader
Command Buffer
...
Video
Memory
To draw
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
Draw Call Cost
=
Draw Call Cost
= 5122048
Draw Call
image : http://www.upcomingmobilephone.com/
Batch & SetPass
(Draw Call)
(Batching)
(Culling)
Batch
= Draw Call
+ Set VB/IB (mesh)
+ Set Transform (Shader Constant)
+ Set Shader
+ Set Texture 0~7
+ Set Blending
+ Set Z enable
+ ...
Batches :
1
Batches :
17
Batches :
11
Batches :
6
Batch
= Draw Call
+ Set VB/IB (mesh)
+ Set Transform (Shader Constant)
+ Set Shader
+ Set Texture 0~7
+ Set Blending
+ Set Z enable
+ ...
SetPass Call
(Material&Shader)
Objects : 10 Batches : 10 SetPass Calls : 1
Objects : 10 Batches : 10 SetPass Calls : 10
!=
Batches :
10
Batches :
10
Set Pass :
1
Set Pass :
10
Objects : 10 Batches : 10 SetPass Calls : 1
Device Batches
Samsung Galaxy S2 85
Samsung Galaxy S3 178
Samsung Galaxy S4 215
Samsung Galaxy S5 260
배칭(Batching) 을
봐주지 않겠나...
(Draw Call)
Batch & Set Pass
(Culling)
Batch(in Rendering Statistics Window)
= Draw Call
+ Setting Shader + Setting Blending
+ Setting Texture + Setting Vertex Buffer
+ ...
Batching =
1 batch for
many objects
Material A Material B
Batch
s
c
e
n
e
Batch
Batches : 10 batching-> Batch :1
Texture Atlas
512
2048
Asset : Top-down Sci-Fi
Static Batching
&
Dynamic BatchingPlayer Settings
Static Batching
Dynamic Batching
GPU
Vertex/Index BufferScene
Dynamic Batching: 제약 사항
Overhead
- Skinned Mesh
- Vertex Mesh
- position, normal, uv0 -> 300
- position, normal, uv0, uv1, tangent -> 180
- http://docs.unity3d.com/kr/current/Manual/DrawCallBatching.html
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
Modular Construction
Unity Frame Debugger
동영상
드로우콜 줄이기 를
봐주지 않겠나...
(Draw Call)
Batch & Set Pass
(Batching)
(Culling)
Batches : 32+
Realtime Shadow : X2+ batches
Shadowmap
Shadow Plane
Batches : 17(meshes:16 shadow:1)
Batches : 2
Multi-pass Shader
Draw Call & Light
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
3 Pixel Lights =
3 Batches
3 SetPass Calls
Tris * 3
Pixel Light : 3 x Mesh : 6 = Batch : 18
or
or
컬링(Culling) 을
봐주지 않겠나...
(Draw Call)
Batch & Set Pass
(Batching)
Frustum Culling
Occlusion Culling
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
Unity Manual : http://docs.unity3d.com/kr/current/Manual/OcclusionCulling.html
Example
Asset : Top-Down Sci-Fi
Device : Galaxy Note4 Rez : 2560X1440
CPU : ARMv7 VFPv3(1.9GHz) GPU : Mali-760MP(0.6GHz)
Shader : Custom Unlit Shader, Self-Illumin/Diffuse, Lightmap : 13 textures
Condition 1
- Batching : No
- Occlusion Culling : No
Condition 2
- Batching : Yes
- Occlusion Culling : No
Condition 3
- Batching : Yes
- Occlusion Culling : Yes
FPS(ms) 41(24.3) 50(20.0) 60(16.6)
Batches 1365 157 94
SetPass Calls 134 142 81
Saved by Batching 0 1207 244
Tris 114.3K 114.3K 28.9K
-4.3ms -3.4ms
-1208 -63
-8 -61
-85.4K
Note :
- This is not the official data.
- This is the rough test. Not the exact reference.
- Keep in mind “case by case”
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
Player Settings
V
Thank you
support@unity3d.com
http://unite.unity3dkorea.com
협찬:비엘북스

More Related Content

PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
PDF
멀티스레드 렌더링 (Multithreaded rendering)
PPTX
Unreal Fest 2023 - Lumen with Immortalis
PPTX
UI아트 작업자를 위한 언리얼엔진4 UMG #1
PPSX
Dx11 performancereloaded
PPTX
AAA게임_UI_최적화_및_빌드하기.pptx
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016
PPTX
FrameGraph: Extensible Rendering Architecture in Frostbite
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
멀티스레드 렌더링 (Multithreaded rendering)
Unreal Fest 2023 - Lumen with Immortalis
UI아트 작업자를 위한 언리얼엔진4 UMG #1
Dx11 performancereloaded
AAA게임_UI_최적화_및_빌드하기.pptx
Optimizing the Graphics Pipeline with Compute, GDC 2016
FrameGraph: Extensible Rendering Architecture in Frostbite

What's hot (20)

PDF
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
PDF
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
PPTX
DirectX 11 Rendering in Battlefield 3
PDF
Igc2016 Technical Artist가 뭐하는 사람이에요?
PDF
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
PDF
Cascade Shadow Mapping
PPTX
Hierachical z Map Occlusion Culling
PDF
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
PPTX
Compute shader DX11
PDF
Deferred Rendering in Killzone 2
PPTX
아티스트에게 사랑받는 3DS Max 우버쉐이더
PDF
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
PPTX
Terrain in Battlefield 3: A Modern, Complete and Scalable System
PPT
모바일 게임 최적화
PPTX
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
PPTX
[Ndc11 박민근] deferred shading
PPTX
Tips and experience of DX12 Engine development .
PPT
Secrets of CryENGINE 3 Graphics Technology
PDF
[Kgc2012] deferred forward 이창희
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
DirectX 11 Rendering in Battlefield 3
Igc2016 Technical Artist가 뭐하는 사람이에요?
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
Cascade Shadow Mapping
Hierachical z Map Occlusion Culling
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
Compute shader DX11
Deferred Rendering in Killzone 2
아티스트에게 사랑받는 3DS Max 우버쉐이더
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
Terrain in Battlefield 3: A Modern, Complete and Scalable System
모바일 게임 최적화
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
Rendering Technologies from Crysis 3 (GDC 2013)
[Ndc11 박민근] deferred shading
Tips and experience of DX12 Engine development .
Secrets of CryENGINE 3 Graphics Technology
[Kgc2012] deferred forward 이창희
Ad

More from ozlael ozlael (20)

PPTX
Unity & VR (Unity Roadshow 2016)
PDF
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
PPTX
Optimizing mobile applications - Ian Dundore, Mark Harkness
PDF
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
PDF
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
PDF
Infinity Blade and beyond
PDF
스티브잡스처럼 프레젠테이션하기
PDF
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
PDF
Introduce coco2dx with cookingstar
PDF
Deferred rendering case study
PDF
Kgc make stereo game on pc
PPTX
mssao presentation
PDF
Modern gpu optimize blog
PDF
Modern gpu optimize
PDF
Bickerstaff benson making3d games on the playstation3
PDF
DOF Depth of Field
PDF
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
PDF
Deferred rendering in_leadwerks_engine[1]
PDF
Deferred shading
PDF
Deferred Rendering in Killzone 2
Unity & VR (Unity Roadshow 2016)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
Optimizing mobile applications - Ian Dundore, Mark Harkness
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
Infinity Blade and beyond
스티브잡스처럼 프레젠테이션하기
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
Introduce coco2dx with cookingstar
Deferred rendering case study
Kgc make stereo game on pc
mssao presentation
Modern gpu optimize blog
Modern gpu optimize
Bickerstaff benson making3d games on the playstation3
DOF Depth of Field
Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)
Deferred rendering in_leadwerks_engine[1]
Deferred shading
Deferred Rendering in Killzone 2
Ad

Recently uploaded (20)

PPT
Basics Of Pump types, Details, and working principles.
PDF
Engineering Solutions for Ethical Dilemmas in Healthcare (www.kiu.ac.ug)
PPTX
Software-Development-Life-Cycle-SDLC.pptx
PDF
ST MNCWANGO P2 WIL (MEPR302) FINAL REPORT.pdf
PPTX
SC Robotics Team Safety Training Presentation
PPTX
Solar energy pdf of gitam songa hemant k
PPTX
SE unit 1.pptx by d.y.p.akurdi aaaaaaaaaaaa
PPTX
chapter 1.pptx dotnet technology introduction
PPTX
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
PDF
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
PDF
Artificial Intelligence_ Basics .Artificial Intelligence_ Basics .
PDF
IAE-V2500 Engine Airbus Family A319/320
PPTX
Research Writing, Mechanical Engineering
PPT
UNIT-I Machine Learning Essentials for 2nd years
PDF
Performance, energy consumption and costs: a comparative analysis of automati...
PPTX
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
DOCX
An investigation of the use of recycled crumb rubber as a partial replacement...
PDF
Using Technology to Foster Innovative Teaching Practices (www.kiu.ac.ug)
PDF
Mechanics of materials week 2 rajeshwari
PPTX
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj
Basics Of Pump types, Details, and working principles.
Engineering Solutions for Ethical Dilemmas in Healthcare (www.kiu.ac.ug)
Software-Development-Life-Cycle-SDLC.pptx
ST MNCWANGO P2 WIL (MEPR302) FINAL REPORT.pdf
SC Robotics Team Safety Training Presentation
Solar energy pdf of gitam songa hemant k
SE unit 1.pptx by d.y.p.akurdi aaaaaaaaaaaa
chapter 1.pptx dotnet technology introduction
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
Artificial Intelligence_ Basics .Artificial Intelligence_ Basics .
IAE-V2500 Engine Airbus Family A319/320
Research Writing, Mechanical Engineering
UNIT-I Machine Learning Essentials for 2nd years
Performance, energy consumption and costs: a comparative analysis of automati...
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
An investigation of the use of recycled crumb rubber as a partial replacement...
Using Technology to Foster Innovative Teaching Practices (www.kiu.ac.ug)
Mechanics of materials week 2 rajeshwari
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj

그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016