Level과 관련한 작업을 하다보면, 그래픽 리소스를 많이 사용하다 보니,
텍스처 스트리밍 풀이 xxxx MB 예산을 초과했습니다
혹은
TEXTURE STREAMING POOL OVER BUDGET
라는 문구가 종종 뜨는 일이 발생한다.
이 문구는 메모리에서 관리할 수 있는 텍스처 양을 초과했을 때 발생하는 경고문이다.
즉, 너무 많은 고해상도의 texture가 로드되어, UE에 할당된 VRAM보다 더 많은 texture 로드하려다 보니 문제가 발생하는 것이다.
cf. Texture Streaming이란?
Texture Streaming
은 텍스처를 동적으로 로드하고 내보내 게임 성능을 향상시키는 방법으로 이 과정에서Mip mapping Optimization
기법을 사용하여, 텍스처의 해상도를 동적으로 높이거나 낮춘다.
이 문제를 해결하기 위해서는,
UE 콘솔 로그창에
r.Streaming.PoolSize 3000
를 입력하는 것으로 임시로 풀 사이즈를 늘려 해결가능하다. 다만 일시적이므로, 재시작 시 초기화된다.
영구적으로 늘리려면,
Config/DefaultEngine.ini 파일을 수정하여
r.Streaming.PoolSize=3000 을 입력하고 저장해준다.
보다 근본적으로 메모리 로드 요청의 부하를 줄이기 위해 텍스처의 해상도를 줄이는 방법이다.
Texture 에셋을 눌러 Texture Editor에서 최대 텍스처 크기를 줄여준다.
이미지에서 알 수 있듯, 현재 필자의 에셋은 최대 텍스처 크기가 0으로 텍스처 크기 제한이 없이 설정되어 있다.
이 값은 적당히 2048 내지는 1024로 바꿔주도록 하겠다.
(필자는 1024로 적용했다.)
위 이미지처럼 다중 선택해서 변경하는 것을 추천!