공부/C#

드로우콜(DrawCall)을 줄이는 방법

셩잇님 2023. 3. 13. 21:55
반응형

드로우콜 수를 줄이는 것은 Unity 게임 또는 애플리케이션의 성능을 최적화하는 데 중요합니다. 다음은 드로우콜 수를 줄이는 데 사용할 수 있는 몇 가지 기법입니다:

메시 배칭 사용: Unity에는 여러 메시를 하나의 메시로 결합하여 렌더링에 필요한 드로우콜 수를 줄일 수 있는 스태틱 배칭 및 다이내믹 배칭이라는 기능이 내장되어 있습니다. 스태틱 배칭은 움직이거나 변경되지 않는 오브젝트에 유용하고, 동적 배칭은 움직이거나 변경되는 오브젝트에 유용합니다. Unity 에디터에서 게임 오브젝트를 선택하고 정적 또는 동적으로 표시하여 이러한 기능을 활성화할 수 있습니다.

LOD(레벨 오브 디테일) 시스템 사용: LOD 시스템을 사용하면 카메라에서 멀리 떨어진 오브젝트에 대해 단순화된 버전의 메시를 생성하여 버텍스 수와 렌더링에 필요한 드로우콜 수를 줄일 수 있습니다. Unity는 자동으로 생성하거나 수동으로 생성할 수 있는 LOD를 기본으로 지원합니다.

텍스처 아틀라스 사용: 텍스처 아틀라스를 사용하면 여러 텍스처를 하나의 텍스처로 결합하여 렌더링 중에 필요한 텍스처 스왑 횟수를 줄일 수 있으므로 드로우콜 수를 줄일 수 있습니다. Unity는 텍스처 아틀라스를 자동 또는 수동으로 생성할 수 있는 툴을 제공합니다.

오클루전 컬링 사용: 오클루전 컬링을 사용하면 카메라에 보이지 않는 오브젝트의 렌더링을 건너뛸 수 있으므로 씬을 렌더링하는 데 필요한 드로우콜 수를 줄일 수 있습니다. Unity 에디터에서 오클루전 영역을 생성하고 오브젝트를 오클루더 또는 오클루디로 표시하여 오클루전 컬링을 설정할 수 있습니다.

GPU 인스턴싱 사용: GPU 인스턴싱은 하나의 드로우콜을 사용하여 서로 다른 트랜스폼으로 동일한 메시의 여러 인스턴스를 렌더링할 수 있는 기술로, 동일한 오브젝트를 여러 번 렌더링하는 데 필요한 드로우콜 수를 줄일 수 있습니다. Unity는 동일한 메시와 머티리얼을 공유하는 오브젝트에 사용할 수 있는 GPU 인스턴싱을 기본으로 지원합니다.

이러한 기술을 사용하면 씬을 렌더링하는 데 필요한 드로우콜 수를 크게 줄이고 Unity 게임 또는 애플리케이션의 성능을 향상시킬 수 있습니다.

 

 

 

반응형