DrawCalls 삭감

2986 단어 Unity
Unity의 DrawCall을 조사했습니다.

DrawCall이 뭐예요??

スクリーンにオブジェクトを描画するために,描画エンジンはOpenGLやDirect3DのグラフィックAPIにドローコール(draw call)を発行しなければいけません。どんな一回のドローコールでも多くのグラフィックAPIの集まりが必要になります。つまりこれはCPUパフォーマンスのオーバーヘッドに重大な影響をもたらします。
(공식 문헌에서 발췌한 것이다.
어려운 일이라고 쓰여 있지만 유니티는 너무 크게 그리면 처리가 무거워진다는 점을 그림의 횟수로 설명한다.

확인 방법


현재 제작된 화면에서 DrawCall이 얼마나 발매됐는지 확인하려면 Stats를 사용하세요.
http://docs.unity3d.com/ja/current/Manual/DrawCallBatching.html)
Unity 게임 보기 오른쪽 위에 있는 Stats 버튼을 눌러 그래픽과 관련된 성능을 확인합니다.이제 막 경치를 만들었기 때문에 아무 상대도 없어 Draw Calls가 0이 됐어요.

그림을 저기에 놓고 보다


화면에 적당한 그림을 놓아 보아라.

이미지가 추가되어 Stats의 DrawCalls 수가 1이 됩니다.
하나 더.

DrawCalls는 여전히 1인 두 개의 이미지가 표시됩니다.같은 이미지는 증가하지 않을 것 같습니다.
그럼 다른 그림을 해볼게요
다른 이미지를 추가하면 DrawCalls가 2로 증가합니다.
이 화면 DrawCalls는 2이지만 실제 화면을 제작하면 다양한 이미지로 요구를 충족시키고 매번 DrawCalls가 증가한다.그곳에서 공을 들여야 한다.
이 글은 Atlas를 사용하여 DrawCalls를 삭감하는 방법을 소개한다.

아틀라스가 뭐예요?


아틀라스는 여러 이미지를 하나로 정리한 것이다.

아틀라스 만드는 법


여기서는 NGI를 이용해 아틀라스를 만드는 방법을 소개한다.

프로젝트 내에 해당 폴더를 만들고 해당 이미지 파일을 저장합니다.
저장된 이미지 파일을 선택하고 > NGUI > Open Atlas Maker를 마우스 오른쪽 단추로 클릭하면 Atlas Maker 창이 열립니다.

"create"를 누르면 저장 위치와 이름을 입력하고 Atlas를 만들어야 합니다.(여기에 Test라는 이름을 지었다.)

이어서 메인 메뉴의 NGI>Create>Sprite에서 Sprite를 만들고 Inspector에서 사용할 Atlas를 지정하며 사용할 Sprite를 지정합니다.

아까와 같이 두 개의 그림을 보여 줍니다.하지만 이번에는 Atlas로 그림을 정리했는데 Draw Calls는 여전히 1이다.
이렇게 하면 Draw Calls를 줄일 수 있다.다른 방법도 있지만 다음에 다시 모이고 싶어요.
아틀라스화는 편리하지만 정리된 이미지에 주의하지 않으면 아틀라스 자체의 용량이 커지기 때문에 주의해야 한다.
이상은 간단하지만 DrawCalls와 Atlas의 DrawCalls를 사용한 삭감 방법의 총결산입니다.끝까지 읽어주셔서 감사합니다.

좋은 웹페이지 즐겨찾기