답변:
기술적으로 "배칭"은 여러 작업과 해당 데이터를 하나의 데이터 구조에 배치하여 개별적으로가 아니라 한 번에 모두 실행할 수 있습니다.
최신 GPU의 가장 큰 병목은 작동 능력이 아니라 CPU에서 실행되는 게임과 GPU 간의 통신입니다. GPU로 전송되는 각 데이터 패키지에는 오버 헤드가 있지만 작은 패키지의 오버 헤드는 큰 패키지의 오버 헤드만큼 크므로 100 개의 작은 패키지가 아닌 하나의 큰 패키지를 보낼 때 큰 이점이 있습니다. 이것이 바로 일괄 처리입니다. 그 작은 것 중에서 하나의 큰 패키지를 만듭니다.
배치는 스프라이트 당 엄청나게 적은 양의 데이터로 인해 스프라이트에 특히 유용합니다. 4 개의 정점과 4 개의 텍스 좌표 따라서 작은 패키지의 오버 헤드는 비례 적으로 큽니다.
스프라이트 일괄 처리는 단일 드로우 콜로 GPU에 여러 개의 스프라이트를 제출하는 방법입니다.
다른 답변 중 어느 것도이 작업의 실제 포인트를 지적하지 않습니다 : 상태 변경 최소화 및 GPU 명령 제출. 내가 그리는 텍스처에 각각 100 개의 스프라이트가있는 경우 하드웨어는 한 번에 하나의 스프라이트 만 처리 할 수 있습니다. 수십 또는 수천 개의 셰이더 코어는 거의 사용되지 않으며 GPU는 텍스처 스위치의 렌더링 상태를 구성하는 데 너무 많은 시간을 소비합니다.
모든 스프라이트 이미지를 아틀라스에 넣으면 그리기에 필요한 상태 변경을 최소화 할 수 있습니다. 드라이버는 스프라이트 드로우 요청을 단일 배치로 자동 결합하여 하드웨어를 완전히 활용할 수 있지만 이것이 보장되지는 않습니다.
스프라이트 아틀라스를 사용하고 모든 스프라이트 쿼드가 채워진 단일 VBO를 생성하고 해당 데이터로 단일 드로우 요청을 수행하면 하드웨어가 완전히 활용되고 모든 스프라이트가 병렬로 렌더링됩니다.
스프라이트 일괄 처리는 바로 그 일을 수행합니다. 단일 드로우 콜로 GPU에 제출되는 단일 아틀라스를 사용하여 가능한 많은 스프라이트를 단일 VBO에 배치하여 GPU 사용을 최대화합니다.
하드웨어 배치, 지오메트리 쉐이더 사용 등과 같은 스프라이트 배치를 수행하는 다른 방법과 다른 이점도 있지만 배치의 장점은 드로우 콜당 여러 객체를 그리는 것입니다.
이것은 엄격하게 정의 된 기술 용어가 아닙니다. 일괄 처리는 기본적으로 여러 작업을 개별적으로 수행하지 않고 집합으로 수행하는 시스템이며 종종 더 효율적이기 때문에 수행됩니다. 효율성 향상은 일반적으로 작업에 필요한 일부 또는 모든 컨텍스트를 재사용 할 수 있기 때문에 발생합니다.
스프라이트 일괄 처리는 여러 스프라이트를 한 번에 그릴 수 있고 그로부터 효율성을 얻을 수있는 시스템입니다. 일반적으로 스프라이트 배치는 모두 동일한 텍스처를 사용하므로 텍스처를 변경하지 않고 배치에서 모든 스프라이트를 그릴 수 있습니다. 이는 상대적으로 느린 작업입니다.