2016년 5월 21일 토요일

DrawCall 줄이는 법 - 진행 중 (Texture Atlas 추가해야 함)

DrawCall 을 줄일수 있는 기법 아는대로 예기하시요
   Texture Atlas
   Batching  :  같은매터리얼 한번에 그리는거




유니티에서 제공을하는 배칭(Batching)기술을 사용하는거지요.
배칭 기술에는 정적배칭(Static Batching), 동적 배칭 (Dynamic Batching)2개가 있습니다. 






1. 가능한 많은 오브젝트를 1개의 Material(1장의 텍스쳐)로 묶어야 합니다.
2. 정적배칭(Static Batching), 동적 배칭 (Dynamic Batching) 기능을 켜라. (기본으로 설정되어있음)
메뉴 Edit> Project Settings > Player  

Dynamic Batching.PNG




배칭(Batching)이란?

자동적으로 DrawCall을 줄여주는 기술
CPU가 GPU에 렌더링 요청을 할 때 
데이터 처리 작업을 한꺼번에 해줘서 GPU의 부담을 줄이게 해주는 것입니다.


2개가 있는데 정적배칭, 동적배칭이 있습니다.

이 2개를 켜두면 모든 오브젝트를 공유된 Material 단위로 묶습니다.
(스크립트에서 수정할 때는 materil 멤버변수 대신 sharedMaterial 멤버를 사용합니다!)



1. 동적 배칭
    • 버텍스 300개 이상인 오브젝트는 안하는게 좋다.
    • Material을 기준으로 Scene에 보이는 오브젝트들을 그룹으로 묶어 분류한다.

2. 정적 배칭(Static Batching)
    • 배칭을 위한 300개의 버텍스 상한선이 없다.
    • 동적 배칭과 유사하지만 배칭하려는 오브젝트를 움직일 수 없다.
    • 움직이지 않는 오브젝트는 Static을 체크한다. (static으로 설정된 GameObject에서 동일한 재질을 사용하는 물체가 있는 경우 자동으로 통합)


Static 설정.PNG

댓글 없음:

댓글 쓰기