유니티
[Unity] GPU 병목 해결 버텍스 줄이기
Krapboss
2024. 3. 14. 18:50
*테스트 기기 Galaxy S8
텍스쳐 대역폭을 줄이기 위한 크기 변경
GPU가 메모리에 저장되어 있는 텍스쳐를 읽어오는데, 모바일에서는 메모리의 대역폭이 문제가 될 수 있기 때문에 사이즈를 줄이고, 압축포맷을 변경하여 전체적인 크기를 줄인다.
-별로 효과가 없었다.
버텍스 수 줄이기
버텍스 수가 2M 정도 되는데 이것 때문에 GPU 병목이 발생한다는 것으로 어느정도 결론이 났음.
* 아래 버텍스 Simpifier API를 활용해 병합된 메시들을 Vertex를 줄여서 생성할 것임
https://thegamedev.guru/unity-gpu-performance/unity-mesh-simplifier/
Simplify Your Life With Unity Mesh Simplifier
Lose those extra vertices you don't need from your meshes and make the life of your GPU a bit easier.
thegamedev.guru
* 버텍스 수 줄이기 전에 보는 메모리 프로파일러에서의 Mesh 수
*버텍스 Qauility 0.5 세팅한 결과값
![]() |
![]() |
결과 | |
메모리 사용량 | 49.6MB => 25.8MB |
Vertex 수 | 390339 => 163770 |