[Unity] Sprite Atlas
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
게임에서 많은 스프라이트를 사용할 경우 렌더링 성능 문제가 발생할 수 있다
특히 모바일 게임이나 UI 요소가 많은 프로젝트에서는 Draw Call 증가로 인해 프레임 저하가 발생하기도 한다
Unity에서는 이러한 문제를 줄이기 위해 Sprite Atlas 기능을 제공한다
일단 문제가 되는 Draw Call이란 CPU가 GPU에게 보내는 렌더링 요청 하나를 Draw Call이라고 한다
요청이 많아지면 시키는 일이 많아져서 성능이 떨어지기 때문에 Draw Call은 적을수록 좋다
Unity에서 왜 중요할까?
예를 들어 이미지 100개가 각각 다른 텍스처를 사용하면
텍스처 A 사용
→ 그림
텍스처 B로 교체
→ 그림
텍스처 C로 교체
→ 그림
이런 식으로 계속 상태를 바꿔야한다
이 상태 변경 비용이 크기 때문에 Draw Call이 많아지면 프레임 드랍이 발생할 수 있다
모바일 환경에서는 비용 체감이 더 크게 느껴진다
위의 문제를 해결하기 위해 Sprite Atlas는 여러 이미지를 하나의 텍스처로 합쳐준다
원래 아래와 같은 예제라면
플레이어.png
몬스터.png
아이템.png
Sprite Atlas 사용 후
atlas.png 안에 전부 포함
이런식으로 되는 것이다
GPU 입장에서는 텍스처 안 바꿔도 되네? 상태가 되는 것
결과적으로
으로 이어지는 것
등이 있다.
나중에 프로젝트할 때 실제 써보는 연습을 해보고자 한다.