목록game dev (3)
Typing diary

고해상도 텍스처 사용이 증가하면서 따라 VRAM, 디스크 공간, 로딩 시간 등 하드웨어 자원 부담이 커지고 있다. PNG나 JPEG와 같은 일반 이미지 포맷은 저장 용량 측면에 초점을 맞춘 압축 방식을 제공하지만, GPU가 실시간으로 텍스처 데이터를 읽고 쓰는 시점에서는 오히려 비효율적이다. 이 때문에 GPU 전용 압축 포맷이 필수적이며, 텍스처 압축(Texture Compression)은 이러한 요구를 충족시키기 위해 등장했다.텍스처 압축을 적용하면 VRAM과 런타임 메모리를 절감할 수 있을 뿐 아니라, 버스 트래픽을 최소화해 렌더링 오버헤드를 완화하고, 디스크 I/O 및 디코딩 비용을 줄여 로딩 속도를 향상할 수 있다. 또한 설치 패키지와 패치 파일의 전체 크기도 크게 감소한다.이미지 압축과의 차이점..

https://typingdiary.tistory.com/61 드로우 콜(Draw Call)드로우 콜이란?CPU가 GPU에게 특정 오브젝트를 그리게 하기 위한 단일 명령이다. 한 프레임에 여러번 호출 될 수 있으며, 호출 수가 많아질 수록 CPU와 GPU의 오버헤드가 커지기 때문에, 호출 횟수를typingdiary.tistory.com앞선 글에서 드로우 콜을 다루면서 Unity의 Batch와 Set Pass Call에 대해서 간단히 설명하였다. 이번 포스팅에선 Unity에서 드로우 콜을 최적화하기 위해, Unity에서 제공하는 솔루션에 대해서 포스팅해보겠다. 본론에 앞서, 우리는 드로우콜 최적화에 대한 중요점을 다시 짚고 넘어갈 필요가 있다. 특히, 모바일 게임 개발을 주로 이루는 Unity에선 더욱 ..

드로우 콜이란?CPU가 GPU에게 특정 오브젝트를 그리게 하기 위한 단일 명령이다. 한 프레임에 여러번 호출 될 수 있으며, 호출 수가 많아질 수록 CPU와 GPU의 오버헤드가 커지기 때문에, 호출 횟수를 줄여 드로우 콜 비용을 낮추는 것이 게임 최적화의 핵심이다. 왜 여러 번 나눠서 보내야 할까?왜 드로우콜은 여러번 호출되는 걸까? GPU는 수많은 정점과 픽셀 연산을 위해 대량 병렬 처리에 특화되어있다. 때문에 GPU는 효율적인 병렬 처리를 위한 GPU만의 특별한 작업 단위가 있는데 그것이 Render State이다. RenderState?GPU가 효율적인 병렬 처리를 수행하기 위하여는, GPU 고유의 작업 단위, 즉 규칙의 집합이 요구된다. 이를 바로 **렌더 상태(Render State)**라..