인스 턴싱은 한 번에 같은 메시의 여러 (수천에서 수천?) 복사본을 렌더링 할 때 성능을 크게 향상시킵니다. 그러나 하나의 그리기 호출로 정확히 하나의 사본을 렌더링 할 때 얼마나 많은 오버 헤드가 있습니까? 엔진이 렌더링하는 모든 지오메트리에 인스 턴싱을 사용하는 것이 좋거나 나쁜 생각입니까?
편집 : FPS 게임을 만들고 있다고 가정 해 봅시다. 대부분의 물체에는 칼, 총, 기관총, 건물 및 라디오 타워가 하나만 있습니다. 그러나 여러 인스턴스가있는 객체도 있습니다 : 나무 (예 : 수백 개의 인스턴스가있는 3 종류의 나무), 잔디 등. 인스 턴싱을 사용하는 잔디는 인스 턴싱을 사용하여 렌더링 합니다 . 따라서 라디오 타워에는 인스턴스 데이터 버퍼에 저장되는 정보가 하나 뿐인 인스턴스가 DrawInstanced()
있으며 인스턴스 개수가 equal 인 호출을 사용하여 해당 타워를 렌더링합니다 1
. 다른 모든 객체와 동일합니다 (물론 나무와 잔디에는 여러 인스턴스가 있습니다).
내 질문은 : 인스턴스화를 사용하여 객체의 단일 인스턴스를 그리는 것이 나쁜 생각입니까? 인스턴스화에 너무 많은 오버 헤드 (메모리 및 성능 측면)가 있거나 단일 인스턴스 오브젝트 렌더링에 바람직하지 않은가?