SRP Batcher
https://docs.unity3d.com/kr/2019.4/Manual/SRPBatcher.html
렌더링 성능을 극대화하려면 이러한 배치의 크기가 커야 합니다. 이를 위해 동일한 셰이더가 포함된 다른 머티리얼을 최대한 많이 사용할 수 있지만, 가능한 한 소수의 셰이더 배리언트로 사용해야 합니다.
렌더 루프 동안 Unity가 새 머티리얼을 감지하면 CPU는 모든 프로퍼티를 수집하고 GPU 메모리에 다양한 상수 버퍼를 설정합니다. GPU 버퍼 수는 셰이더가 CBUFFER를 선언하는 방법에 따라 다릅니다.
씬이 서로 다른 머티리얼을 많이 사용하는 반면 셰이더 배리언트는 아주 소수만 사용하는 경우 속도 최적화를 위해 SRP는 GPU 데이터 지속성 등과 같은 패러다임을 네이티브 방식으로 통합합니다.
SRP 배처는 머티리얼 데이터가 GPU 메모리에 지속하도록 만드는 저레벨 렌더 루프입니다. 머티리얼 콘텐츠가 변하지 않으면 SRP 배처는 설정하거나 버퍼를 GPU 메모리에 업로드할 필요가 없습니다. 대신에 SRP 배처는 전용 코드 경로를 사용하여 대형 GPU 버퍼로 Unity 엔진 프로퍼티를 빠르게 업데이트합니다.
댓글
댓글 쓰기