Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
그래픽 최적화
어디까지 해봤니
- Unity Field Engineer 오지현
Image : 무사, Implosion, Z-rush, 히어로즈 아레나
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
Image : volvo
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
Optimization = Removing Bottleneck
CPU
GPU
Frame
End
Frame
start
Bottleneck?
CPU
GPU
Frame
End
Frame
start
CPU boundary VS GPU boundary
CPU
GPU
Frame
End
Frame
start
Logic AI Physics
Loading GC ...
CPU boundary
GPU boundary
Polygon Texture Filtering
Lighting Framebuffer
Shader Overdraw ...
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
CPU
DRAW!
Draw Call in a narrow sense
GPU
OK
CPU
DRAW!
TEXTURE!
SHADER!
VERTEX BUFFER!
ALPHA BLENDING!
TRANSFORM
CHANGE STATES
Draw Call in a broad sense
GPU...
USE Z-...
CPU (App)
GPU
COMMAND COMMAND COMMAND COMMAND COMMAND
Set Texture Set Shader
Use Blending
Set VBO
Draw
Command Buffer
+Draw Call
Logic AI Physics
Loading GC …
CPU boundary
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
Batch(in Rendering Statistics Window)
= Draw Call
+ Setting Shader + Setting Blending
+ Setting Texture + Setting Vertex B...
Batching =
1 batch for
many objects
Material A Material B
Mesh 1 Mesh 2 Mesh 1 Mesh 3
Batch Batch
s
c
e
n
e
Asset : Top-down Sci-Fi
Static Batching
VS
Dynamic Batching
Static Batching do this on loading
Dynamic Batching do this on Run-time
GPU
Vertex BufferScene
Dynamic Batching: limitations
Overhead for collecting vertices.
- Not for Skinned Mesh.
- Less than 300 vertices per mesh....
Unity Frame Debugger
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
Analyze your Bottleneck
Measure correctly
Average value
Diverse situation
Per Target Device
CPU : A5
GPU : PowerVR SGX535
Resolution : 1024 x 768
CPU : A5X
GPU : PowerVR SGX543
Resolution : 2048 x 1536
Performance ...
Unity Profiler
CPU
GPU
Simple test
High Polygon model VS Low Polygon model
Expensive Shader VS Cheap Shader .
High rez texture VS Low rez texture
Deep GPU Profile
Vendor Profiler tools
Qualcomm Adreno Profiler
Mali Graphics Debugger
ARM DS-5
http://community.arm.com/docs/DOC-9414
iOS GPU profiler
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
LG G-pad ( Adreno 320, 1920 X 1200)
Deferred Render
GPU Skinning
MatCap Shader
Lightmap
15K Polygons
Player Settings -> GPU Skinning
Skinning
GPU
CPU
or
Asset : Succubus Monster 2.0
Player Settings > Rendering
GPU :
Vertex
Shader
Buffer
GPU Skinning with Transform Feedback
Open GL ES 3.0 ~
CPU :
NEON
Buffer
CPU Skinning with NEON SIMD
NEON TM
X1 + =X2 X3
X1 + =X2 X3
Y1 + =Y2 Y3
Z1 + =Z2 Z3
W1 + =W2 W3
Single Instruction
Multi Data
Single Instruction
Singl...
GPU Skinning -> CPU Skinning
-9ms
cmd > adb.exe shell setprop debug.egl.profiler 1
image : Adreno Profiler user guide
Mobile/Unlit (support Lightmap)
-17ms
Level Of Detail
Image : Infinity Tap SF
ASSET : Armored Golem
Per Pixel Lit
Normalmap
Per Vertex Lit
LOD Plugins in Asset Store
Normalmap X
15K -> 7K Poly
LOD
-3ms
Deferred -> Forward
-5ms
Image : FPS Hangar
17 FPS (57ms)
iPhone 6 : PowerVR GX6450 1334 X 750
Vertex Pixel
Tile Based Deferred Rendering
39 FPS (25ms)
iPhone 6 : PowerVR GX6450 1334 X 750
SSAO SunShaft
Bottleneck
Draw Call
Batching (Pros, Cons)
Profiling
Profiling Sample
Level Of Detail
Lighting (Image Based Lighting)
Phys...
image : http://www.aversis.be/tutorials/vray/vray-20-gi-methods.htm
Texture
Image Based Lighting
Unlit lighting
DiffuseWrap MatCap
Toon Shading (Diffuse Wrap)
MatCap (Material Capture)
IMG : http://www.cgarena.com/freestuff/tutorials/misc/photoreal/
X
( )+ =
MatCap Shading
Standard Shader
PC Ver. Mobile Ver.
We are optimizing more
Use less textures
ASSET : Many-Worlds
Use Secondary Maps
4.6.3~
Q & A
유니티 개발자 커뮤니티
유니티허브
ozlael.oz ozlael
ozlael.egloos.com
Thank you
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
Upcoming SlideShare
Loading in …5
×

유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.

16,177 views

Published on

유니티3D에서의 그래픽 최적화를 위한 가이드.

Published in: Technology
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE Format, ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.

  1. 1. 그래픽 최적화 어디까지 해봤니 - Unity Field Engineer 오지현
  2. 2. Image : 무사, Implosion, Z-rush, 히어로즈 아레나
  3. 3. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  4. 4. Image : volvo
  5. 5. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  6. 6. Optimization = Removing Bottleneck
  7. 7. CPU GPU Frame End Frame start Bottleneck?
  8. 8. CPU GPU Frame End Frame start
  9. 9. CPU boundary VS GPU boundary CPU GPU Frame End Frame start
  10. 10. Logic AI Physics Loading GC ... CPU boundary
  11. 11. GPU boundary Polygon Texture Filtering Lighting Framebuffer Shader Overdraw ...
  12. 12. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  13. 13. CPU DRAW! Draw Call in a narrow sense GPU OK
  14. 14. CPU DRAW! TEXTURE! SHADER! VERTEX BUFFER! ALPHA BLENDING! TRANSFORM CHANGE STATES Draw Call in a broad sense GPU... USE Z-BUFFER!
  15. 15. CPU (App) GPU COMMAND COMMAND COMMAND COMMAND COMMAND Set Texture Set Shader Use Blending Set VBO Draw Command Buffer
  16. 16. +Draw Call Logic AI Physics Loading GC … CPU boundary
  17. 17. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  18. 18. Batch(in Rendering Statistics Window) = Draw Call + Setting Shader + Setting Blending + Setting Texture + Setting Vertex Buffer + ...
  19. 19. Batching = 1 batch for many objects
  20. 20. Material A Material B Mesh 1 Mesh 2 Mesh 1 Mesh 3 Batch Batch s c e n e
  21. 21. Asset : Top-down Sci-Fi
  22. 22. Static Batching VS Dynamic Batching
  23. 23. Static Batching do this on loading
  24. 24. Dynamic Batching do this on Run-time GPU Vertex BufferScene
  25. 25. Dynamic Batching: limitations Overhead for collecting vertices. - Not for Skinned Mesh. - Less than 300 vertices per mesh. (position, normal, uv0)
  26. 26. Unity Frame Debugger
  27. 27. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  28. 28. Analyze your Bottleneck Measure correctly Average value Diverse situation Per Target Device
  29. 29. CPU : A5 GPU : PowerVR SGX535 Resolution : 1024 x 768 CPU : A5X GPU : PowerVR SGX543 Resolution : 2048 x 1536 Performance ? Episode of
  30. 30. Unity Profiler CPU GPU
  31. 31. Simple test High Polygon model VS Low Polygon model Expensive Shader VS Cheap Shader . High rez texture VS Low rez texture
  32. 32. Deep GPU Profile Vendor Profiler tools
  33. 33. Qualcomm Adreno Profiler
  34. 34. Mali Graphics Debugger
  35. 35. ARM DS-5 http://community.arm.com/docs/DOC-9414
  36. 36. iOS GPU profiler
  37. 37. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  38. 38. LG G-pad ( Adreno 320, 1920 X 1200) Deferred Render GPU Skinning MatCap Shader Lightmap 15K Polygons
  39. 39. Player Settings -> GPU Skinning
  40. 40. Skinning GPU CPU or Asset : Succubus Monster 2.0 Player Settings > Rendering
  41. 41. GPU : Vertex Shader Buffer GPU Skinning with Transform Feedback Open GL ES 3.0 ~
  42. 42. CPU : NEON Buffer CPU Skinning with NEON SIMD
  43. 43. NEON TM X1 + =X2 X3 X1 + =X2 X3 Y1 + =Y2 Y3 Z1 + =Z2 Z3 W1 + =W2 W3 Single Instruction Multi Data Single Instruction Single Data
  44. 44. GPU Skinning -> CPU Skinning -9ms
  45. 45. cmd > adb.exe shell setprop debug.egl.profiler 1 image : Adreno Profiler user guide
  46. 46. Mobile/Unlit (support Lightmap) -17ms
  47. 47. Level Of Detail Image : Infinity Tap SF
  48. 48. ASSET : Armored Golem Per Pixel Lit Normalmap Per Vertex Lit
  49. 49. LOD Plugins in Asset Store
  50. 50. Normalmap X 15K -> 7K Poly LOD -3ms
  51. 51. Deferred -> Forward -5ms
  52. 52. Image : FPS Hangar 17 FPS (57ms) iPhone 6 : PowerVR GX6450 1334 X 750
  53. 53. Vertex Pixel
  54. 54. Tile Based Deferred Rendering
  55. 55. 39 FPS (25ms) iPhone 6 : PowerVR GX6450 1334 X 750 SSAO SunShaft
  56. 56. Bottleneck Draw Call Batching (Pros, Cons) Profiling Profiling Sample Level Of Detail Lighting (Image Based Lighting) Physically Based Rendering
  57. 57. image : http://www.aversis.be/tutorials/vray/vray-20-gi-methods.htm
  58. 58. Texture Image Based Lighting Unlit lighting DiffuseWrap MatCap
  59. 59. Toon Shading (Diffuse Wrap)
  60. 60. MatCap (Material Capture) IMG : http://www.cgarena.com/freestuff/tutorials/misc/photoreal/
  61. 61. X ( )+ = MatCap Shading
  62. 62. Standard Shader PC Ver. Mobile Ver.
  63. 63. We are optimizing more
  64. 64. Use less textures ASSET : Many-Worlds
  65. 65. Use Secondary Maps
  66. 66. 4.6.3~
  67. 67. Q & A 유니티 개발자 커뮤니티 유니티허브 ozlael.oz ozlael ozlael.egloos.com Thank you

×