shader에서 if 와 lerp의 성능은?
Posted by Go crazy for anything that will make you smile.
나의 궁금증은 아래와 같다. 1. shader 코드에서 동적분기로 return 시키는 것은 최적화에 도움이 되는가?- 정적분기라면 굳. 확실히 최적화에 도움이 될듯. 컴파일에서 부터 정해지니까.- 동적분기라면 비교값이 상수가 아닌 변수이므로 런타임에 정해진다.- 마소 문서를 보면 if문에도 [branch]와 [flatten] 가 있으며 branch의 경우 if문의 부울이 먼저 평가 되므로 맞는 부분만 실행되고, flatten은 if의 양쪽 다 계산하고 맞는 부분을 결과값으로 선택하는 방식이다. 다만 branch는 tex2d 와 같은 그라디언트 함수를 쓰면 작동하지 않는다. 이는 주변 프래그먼트에 종속적이므로 실행되어야 하며, 각 프래그먼트를 건너뛰지 않아야 하기 때문이다. 2. if문 자체가 주는 부하를..