Unity/Optimization

셰이더

WeMakeJoy 2015. 12. 29. 02:07

유니티 셰이더


· 기본 셰이더는 모바일용 셰이더 사용(Mobile > VertexLit은 가장 빠른 셰이더)


· 라이트 맵 사용



복잡한 수학 연산


· pow, exp, log 같은 수학 함수들은 고비용


· 픽셀별 그런 연산을 하나 이상 사용하지 않는 것이 좋다


· 텍스쳐 룩업테이블을 만들어 사용하는 방법도 좋다


· 알파 테스트 연산(discard)는 느리다.


· 기본적인 연산보다는 최적화 시키고 간략화시킨 공식들을 찾아서 사용할 수 있다.



실수 연산


· float : 32bit - 버텍스 변환에 사용. 아주 느린 성능(픽셀 셰이더에서 사용은 피함)


· Half : 16bit - 텍스쳐 uv에 적합. 대략 2배 빠름


· fixed : 10bit - 컬러, 라이트 계산과 같은 고성능 연산에 적합. 대략 4배 빠름