NDC 2015 유니티 그래픽 최적화, 어디까지 해봤니?
강의 - 유니티테크놀로지스코리아 오지현
요약 정리
- 유니티 엔진이 어떻게 돌아가는지 잘 알아야 최적화를 잘 할 수 있다.
- GPU와 CPU이 병목이 어딘지를 찾아내는 것이 중요
- CPU : Logic, AI, GC 등등
- GPU : Texture, Shader, Framebuffer, Lighting Overdraw 등등
- Drawcall : CPU가 GPU에게 그리라는 명령을 Command Buffer에 담아 보내는 것
- command 하나하나는 GPU가 알아먹을 수 있는 신호로 변환해야 함 -> 부담
- 때문에 Drawcall을 줄이는 것이 중요하고, 이를 위해 Unity에서는 Batching이라는 것을 제공
- Batching은 Material 기준으로 작동
- Dynamic batching과 Static batching이라는 두 가지 타입으로 나뉨.
- Static한 배경 오브젝트나 움직이지 않는 오브젝트들은 주로 로딩타임에서 batching처리
- Dynamic은 런타임상에서 처리
- Unity5부터는 Frame Debugger라는 것이 추가 -> Drawcall과 Batching을 직관적으로 확인가능
- Profiling은 몇가지 상황에서 반복 테스트 후 평균값으로 병목을 잡아야 한다.
- PC용 shader에서 모바일은 모바일용 shader로 변경하는것도 최적화 방법
- LOD 기법도 가까이와 멀리 있을때 그리는것을 최적화 하는 방법
- 폴리곤을 좀 줄이는 것
'NOTE > Unity' 카테고리의 다른 글
[Unity] 시간, 숫자 (0) | 2018.04.01 |
---|---|
[Unity] Time class 간단 정리 (0) | 2018.04.01 |
[Unity] Asset Bundle (0) | 2018.04.01 |
[Unity] Managed Plugins 동적 링크 라이브러리(DLL) (0) | 2017.03.31 |
[Unity] 유니티 프로그래머가 알아야할 최적화 코드 작성법 (펌) (0) | 2017.03.31 |