Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
그래픽 최적화 함께하지 않겠나
http://unite.unity3dkorea.com
그래픽 최적화 함께하지 않겠나
ozlael.oz
ozlael
ozlael.tistory.com
Support Engineer (john Oh)
-
- (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
...
Vi...
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...
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...
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 B...
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,...
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
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
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, Sel...
Condition 1
- Batching : No
- Occlusion Culling : No
Condition 2
- Batching : Yes
- Occlusion Culling : No
Condition 3
- B...
Player Settings
V
Thank you
support@unity3d.com
http://unite.unity3dkorea.com
협찬:비엘북스
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , 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
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , 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
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! - Unite Seoul 2016
Próxima SlideShare
Cargando en…5
×
Próxima SlideShare
Algorithms summary korean
Siguiente
Descargar para leer sin conexión y ver en pantalla completa.

69

Compartir

Descargar para leer sin conexión

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

Descargar para leer sin conexión

그래픽 최적화를 위해서 필수로 알아야하는 드로우콜과 배칭을 심화하여 다룹니다. 드로우콜의 개념, Batch와 SetPass Call의 차이, 드로우콜 감소 방법 등등 기초 개념부터 실무적인 깊이까지 다룹니다. 기반지식 여부 상관 없이 모두 들으실 수 있습니다. 특히 아티스트와 프로그래머에게 도움이 될 것입니다.

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

  1. 1. 그래픽 최적화 함께하지 않겠나 http://unite.unity3dkorea.com
  2. 2. 그래픽 최적화 함께하지 않겠나 ozlael.oz ozlael ozlael.tistory.com Support Engineer (john Oh)
  3. 3. - - (Draw Call) - Batch & Set Pass - (Batching) - - (Culling)
  4. 4. CPU DRAW! Draw Call : GPU OK
  5. 5. (Draw Call) Batch & Set Pass (Batching) (Culling)
  6. 6. 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)
  7. 7. 1 frame ...
  8. 8. 1 frame ...
  9. 9. 1 frame ...
  10. 10. 1 frame ...
  11. 11. 1 frame ...
  12. 12. 1 frame ...
  13. 13. 1 frame ...
  14. 14. ...
  15. 15. ...
  16. 16. CPU GPU CPU GPU info info
  17. 17. Batch & Set Pass (Batching) (Culling)
  18. 18. CPU GPU Frame End Frame start
  19. 19. CPU GPU Frame End Frame start
  20. 20. Logic AI Physics Loading GC … +Draw Call
  21. 21. CPU DRAW! Draw Call GPU OK
  22. 22. CPU DRAW! TEXTURE! SHADER! VERTEX BUFFER! ALPHA BLENDING! CHANGE STATES Draw Call GPU... USE Z-BUFFER! TRANSFORM
  23. 23. CPU (App) GPU COMMAND Draw COMMAND SetTexture COMMAND Set Texture COMMAND Set VBO COMMAND Set Shader Command Buffer ... Video Memory To draw
  24. 24. Draw Call Cost =
  25. 25. Draw Call Cost = 5122048
  26. 26. Draw Call image : http://www.upcomingmobilephone.com/
  27. 27. Batch & SetPass (Draw Call) (Batching) (Culling)
  28. 28. Batch = Draw Call + Set VB/IB (mesh) + Set Transform (Shader Constant) + Set Shader + Set Texture 0~7 + Set Blending + Set Z enable + ...
  29. 29. Batches : 1
  30. 30. Batches : 17 Batches : 11
  31. 31. Batches : 6
  32. 32. 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)
  33. 33. Objects : 10 Batches : 10 SetPass Calls : 1
  34. 34. Objects : 10 Batches : 10 SetPass Calls : 10
  35. 35. != Batches : 10 Batches : 10 Set Pass : 1 Set Pass : 10
  36. 36. Objects : 10 Batches : 10 SetPass Calls : 1
  37. 37. Device Batches Samsung Galaxy S2 85 Samsung Galaxy S3 178 Samsung Galaxy S4 215 Samsung Galaxy S5 260
  38. 38. 배칭(Batching) 을 봐주지 않겠나... (Draw Call) Batch & Set Pass (Culling)
  39. 39. Batch(in Rendering Statistics Window) = Draw Call + Setting Shader + Setting Blending + Setting Texture + Setting Vertex Buffer + ...
  40. 40. Batching = 1 batch for many objects
  41. 41. Material A Material B Batch s c e n e Batch
  42. 42. Batches : 10 batching-> Batch :1
  43. 43. Texture Atlas
  44. 44. 512 2048
  45. 45. Asset : Top-down Sci-Fi
  46. 46. Static Batching & Dynamic BatchingPlayer Settings
  47. 47. Static Batching
  48. 48. Dynamic Batching GPU Vertex/Index BufferScene
  49. 49. 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
  50. 50. Modular Construction
  51. 51. Unity Frame Debugger
  52. 52. 동영상
  53. 53. 드로우콜 줄이기 를 봐주지 않겠나... (Draw Call) Batch & Set Pass (Batching) (Culling)
  54. 54. Batches : 32+ Realtime Shadow : X2+ batches Shadowmap
  55. 55. Shadow Plane Batches : 17(meshes:16 shadow:1)
  56. 56. Batches : 2 Multi-pass Shader
  57. 57. Draw Call & Light
  58. 58. 3 Pixel Lights = 3 Batches 3 SetPass Calls Tris * 3
  59. 59. Pixel Light : 3 x Mesh : 6 = Batch : 18
  60. 60. or
  61. 61. or
  62. 62. 컬링(Culling) 을 봐주지 않겠나... (Draw Call) Batch & Set Pass (Batching)
  63. 63. Frustum Culling
  64. 64. Occlusion Culling
  65. 65. Unity Manual : http://docs.unity3d.com/kr/current/Manual/OcclusionCulling.html
  66. 66. Example Asset : Top-Down Sci-Fi
  67. 67. 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
  68. 68. 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”
  69. 69. Player Settings V
  70. 70. Thank you support@unity3d.com http://unite.unity3dkorea.com
  71. 71. 협찬:비엘북스
  • ggomdyu

    Sep. 24, 2020
  • SeyedMortazaKamaly

    May. 16, 2020
  • youngraejo5

    Sep. 24, 2019
  • ssuser6ef0c2

    Mar. 12, 2019
  • shenxinxin2

    Jan. 22, 2019
  • YouSungKim4

    Dec. 20, 2018
  • HojinLee25

    Dec. 11, 2018
  • ssuser9dca18

    Sep. 19, 2018
  • quentlycontinu

    Sep. 9, 2018
  • ssuser4f6e681

    Jul. 1, 2018
  • Ariplates

    Jun. 25, 2018
  • fmog

    Jun. 10, 2018
  • LucPhong1

    Apr. 26, 2018
  • SonClark

    Apr. 10, 2018
  • KIMGTEAST

    Feb. 12, 2018
  • sharkmino

    Nov. 29, 2017
  • wuwonyu

    Nov. 3, 2017
  • aishop

    Oct. 21, 2017
  • ssuserf75f09

    Sep. 6, 2017
  • Ryoojuseong

    Aug. 19, 2017

그래픽 최적화를 위해서 필수로 알아야하는 드로우콜과 배칭을 심화하여 다룹니다. 드로우콜의 개념, Batch와 SetPass Call의 차이, 드로우콜 감소 방법 등등 기초 개념부터 실무적인 깊이까지 다룹니다. 기반지식 여부 상관 없이 모두 들으실 수 있습니다. 특히 아티스트와 프로그래머에게 도움이 될 것입니다.

Vistas

Total de vistas

24.148

En Slideshare

0

De embebidos

0

Número de embebidos

2.836

Acciones

Descargas

183

Compartidos

0

Comentarios

0

Me gusta

69

×