#gdc11 #review Culling the Battlefield: Data Oriented Design in Practice
DOD로 기존 컬링 코드(Frustum vs sphere)를 3배 더 빠르게 만들었다.
왜? 새로 만들었나?
- Job을 더 할당해도 안 빨라진다. 스케일링 불가능.
새로 만든 컬링 특징
- 스케일링이 가능하게 하고 branch를 줄이기 위해 tree 구조를 버리고 array로 구현.
- 이전보다 3배 빨라졌다.
- 짠! 병렬로 돌아가는 스레드(thread) 보소.
새로운 컬링을 좀 더 자세히
- 병렬 처리를 위해 그리드로 나누는 전략
- DOD로 설계
frustum vs sphere intersection 코드
- LHS(load-hit-store), branch가 많은 옛날 코드
- 재정렬 후 9 instruction으로 해결
발표
- 발표자: Daniel Collin (EA DICE)
- 발표자료: Culling the Battlefield: Data Oriented Design in Practice - slideshare.net
- 발표자료: GDC Vault