[Unity] 39. 드로우콜

Connected Brain·2025년 5월 9일

면접 질문 대비

목록 보기
39/60

드로우콜에 대해서 설명하고, 최적화하는 방식에 대해 알고 있는 것이 있으면 설명하세요.

드로우콜

  • CPU가 렌더링할 오브젝트에 대해 GPU에 내리는 명령
  • 오브젝트가 많아져 드로우콜이 많아지면 CPU에서 GPU로 전달할 때 병목현상이 발생할 수 있음
  • 이는 CPU에서 GPU로 작업을 넘겨줄 때 GPU에서 실행하고 있는 작업을 방해하지 않기 위해 버퍼에 명령을 전달하므로, 해당 버퍼가 지나치게 커졌을 때 문제가 발생

최적화 방법

아틀라스 활용

  • 여러 오브젝트에서 활용하는 텍스쳐를 하나의 아틀라스로 묶고, 적용시에는 아틀라스의 좌표를 통해 텍스쳐를 구분
  • 여러 오브젝트가 하나의 아틀라스를 텍스쳐로 로드하므로, 하나의 오브젝트를 그릴 때마다 여러 텍스처를 로드하지 않아 유리
  • 또한 동일한 텍스처를 사용하는 오브젝트를 묶어서 처리하는 Batching을 통해 연속적으로 오브젝트를 렌더하여 성능에 유리

분리된 맵 오브젝트

  • 맵이 지나치게 큰 오브젝트로 구성되어 있다면 맵이 조금만 보여도 큰 오브젝트에 대한 드로우콜이 발생
  • 따라서 컬링의 이점을 활용하면서 최적화를 효과적으로 적용하기 위해서는 적당히 분리된 맵 오브젝트로 구성해 보이지 않는 오브젝트에 대해서는 드로우콜이 발생하지 않도록 해야함

0개의 댓글