[UE4] Texture Streaming Pool Over Budget의 의미

(본 기사는 UE4.22를 이용하여 검증 및 조사하고 있습니다)

Texture Streaming Pool Over Budget의 오해




Texture가 대량으로 있는 장면 등에서 "Texture Streaming Pool Over XXX MiB Budget"이라는 경고가 화면 왼쪽 상단에 나온 것을 본 적이 있는 사람도 많다고 생각합니다. 이 경고와 그 값은, 「텍스처가 Pool Size를 넘어 메모리를 확보하고 있어, 그 메모리량을 표시하고 있다」라는 의미는 아닙니다. 이 경고는, 「스트리머가 본래 원하는 메모리의 양이 스트리밍용의 Pool Size를 오버하고 있어요.」라는 경고입니다. 실제로 텍스처 스트리머는 부족하다는 경고를 내면서도 실제로는 Pool Size에 맞는 메모리를 가지고 있는 것이 대부분입니다.

Required Pool 및 Wanted Mips



실제로 스트리머가 얼마나 많은 메모리를 사용하고 있는지 확인하려면 stat streaming의 Wanted Mips를 보면 좋다고 생각합니다.

stat streaming


위의 경우 Streaming Pool은 300으로 설정되어 있지만 텍스처 스트리머가 원래 필요로 하는 Mip인 Required Pool은 438입니다. 그러나 실제로 스트리머가 사용하는 텍스처의 메모리 양 Wanted Mips는 300 빠듯이까지만 가지고 있습니다.

그리고, 경고에서는 이 초과한, 438-300 = 138 (붙인 이미지라고 약간 어긋나 있습니다만) 표시되고 있습니다.


그러므로, 이 경고의 의미하는 점은, 메모리를 넘어 확보하고 있는 것이 아니라, 메모리에 들어가도록 확보하면 그만큼의 MiB 부족하기 때문에 어딘가의 텍스처 보케 하고 있다고 하는 것이 될 것으로 생각됩니다.

요약


  • Texture Streaming Pool Over Budget이라는 경고는 "풀 크기를 넘는 메모리를 확보하고 있다"라는 경고가 아니다.
    - "스트리머가 필요로하는 텍스처를 읽으려고하면 메모리를 넘어 버릴 것입니다."라는 경고
  • 결과, 어딘가의 텍스처가 흐려진 상태가 되어 있을 것
  • 스트리머가 원하는 메모리는 "Required Pool", 실제로 읽고있는 메모리는 "Wanted Mips"를 보자 (stat streaming에서)

  • 간단하지만 정리했습니다.

    좋은 웹페이지 즐겨찾기