텍스처 스트리밍 환경설정

플레이 도중 텍스처를 메모리에 로드하고 언로드하는 시스템입니다.

Windows
MacOS
Linux

빌드된 텍스처 스트리밍 정확도를 검사한 후, 텍스처 스트리머의 작동방식과 우선권을 조정하고 싶을 수가 있습니다. 아래 파라미터는 환경설정 파일을 통해 조정할 수 있으며, 그 중 대부분은 콘솔 창에서 실행시간에 변경할 수도 있습니다.

명령

설명

r.TextureStreaming

텍스처 스트리머를 켜거나 끕니다. 끄면 텍스처가 렌더링에 전혀 사용되지 않는다 할지라도 모든 텍스처 밉이 전부 메모리에 로드됩니다. 이 옵션은 실행시간에 켜고 끌 수 있습니다.

r.Streaming.PoolSize

엔진에서 텍스처에 할당하는 MB 단위 풀 크기입니다. 이 풀에는 UI 텍스처, NeverStream 텍스처, 큐브맵, 스트리밍 텍스처가 들어갑니다. 일부 플랫폼의 경우 이 풀에 GPU 파티클 버퍼나 버텍스 버퍼같은 텍스처 이외 리소스도 들어갈 수 있습니다. 0 으로 설정되면, 풀 크기가 무제한입니다.

r.Streaming.UseFixedPoolSize

0 이외의 값인 경우, 텍스처 풀 크기를 실행시간에 변경할 수 있습니다.

r.Streaming.FramesForFullUpdate

텍스처 스트리머를 한 번 완전히 업데이트하는 데 걸리는 프레임 수입니다. 업데이트할 때마다 각 텍스처의 필수 해상도를 재계산하고 밉 로드 또는 언로드 요청을 생성합니다. 값이 클 수록 텍스처 스트리머 CPU 사용량이 감소되는 반면 낮을 수록 반응 속도가 향상됩니다.

r.Streaming.UseNewMetrics

호환성 전용입니다. false 설정하면 텍스처 스트리머는 4.12 버전처럼 진행됩니다.

r.Streaming.MaxTempMemoryAllowed

텍스처 업데이트에 허용된 MB 단위 임시 메모리 양입니다. 텍스처 스트리머 고사(starve) 상태를 방지할 만큼 크게 하면서, 낭비되는 (미사용) 메모리가 없도록 작게 해야 합니다.

r.Streaming.HLODStrategy

계층형 LOD 텍스처 로드 전략을 조절합니다 :

  • 0 : 모든 밉 스트리밍을 허용합니다.

  • 1 : 마지막 밉민 스트리밍합니다. 다른 밉은 항상 로드합니다.

  • 2 : 어느 밉도 스트리밍하지 않습니다. 모든 밉은 항상 로드합니다.

r.Streaming.HiddenPrimitiveScale

텍스처를 참조하는 컴포넌트가 (바운딩 박스가 가려졌다든지 해서) 보이지 않을 때 "원하는"(wanted) 해상도에 적용할 스케일입니다. 사용가능한 최대 해상도 이하로 클램핑되기 전 해상도에만 영향을 끼치는데, 이미 제한된 텍스처의 질이 떨어지는 것을 막기 위해서입니다. 다른 말로, 뷰포트의 해상도에 적합한 텍스처에만 영향을 줍니다.

r.Streaming.MaxEffectiveScreenSize

0 이 아니면, 텍스처가 원하는 해상도를 계산할 때 스트리머가 고려하는 화면 크기를 제한합니다. 고해상도에서 크기가 훨씬 큰 스트리밍 풀이 필요해지는 상황이 방지됩니다.

r.Streaming.Boost

텍스처가 필요한 해상도에 영향을 끼치는 글로벌 부스트입니다.

r.Streaming.MipBias

스트리머가 각 텍스처에 가장 큰 밉을 로드하지 못하도록 하는 데 사용되는 글로벌 밉 바이어스입니다. 낮은 스트리밍 풀에 맞추는 데 사용됩니다. 약간의 r.Streaming.Boost 값이나 r.Streaming.MaxEffectiveScreenSize 제한과 함께, 스트리머가 뷰포트에 어느 밉 로드를 시도할 것인지에 대해서도 영향을 줍니다.

이 바이어스 적용 방식에는 몇 가지 예외가 있습니다:

  • 터레인 & 랜드스케이프 텍스처 : 바이어스에 영향받지 않습니다.

  • 계층형 LOD 텍스처 : 바이어스가 최대 해상도를 제한하지 않습니다.

  • 라이트맵 & 섀도맵 : 바이어스가 최대 해상도만 제한합니다.

r.Streaming.UsePerTextureBias

글로벌 밉 바이어스가 뷰포트에서 원하는 밉이 아닌, 최대 허용 밉에 주는 효과를 제한시키고, 스트리밍 풀에 맞추기 위해 텍스처에만 적용합니다. 각 텍스처에는 별도의 밉 바이어스가 있으며, 그 범위는 예산 연산에 따라 0 에서 MipBias 까지입니다.

r.Streaming.DropMips

스트리밍 풀이 충분하다 해도 밉이 메모리에 유지되는 것을 방지하기 위해 사용되는 디버그 옵션입니다 :

  • 0 : 밉을 낮추지 않습니다.

  • 1 : 캐시된 밉을 낮춥니다.

  • 2 : 캐시된 밉과 숨긴 밉을 낮춥니다.

이 목적은 원하는 밉 계산의 정확도를 평가하기 위함인데, 표시 해상도는 이전 로드 요청 또는 숨긴 프리미티브에 영양받을 수 있기 때문입니다.

r.Streaming.FullyLoadUsedTextures

사용되는 모든 텍스처를 가능한 최대 해상도로 스트리밍하고, 어플리케이션이 열려있는 한 메모리에 유지합니다. 텍스처 스트리밍을 완전히 끄면 전혀 사용되지 않는 텍스처가 로드되어 결국 메모리가 추가로 필요하게 되므로, 그에 대한 대안으로 사용하기 위한 용도입니다.

r.Streaming.UseAllMips

텍스처 그룹 세팅과 시네마틱 세팅에서 오는 해상도 제한을 전부 제거할 것인지 여부입니다. 아트 쇼케이스 또는 홍보물 제작용입니다.

r.Streaming.AnalysisIndex

머티리얼 텍스처 좌표 스케일 정확도 뷰 모드 에서 사용되며, 개별 텍스처의 정확도를 조사할 수 있습니다.

r.Streaming.CheckBuildStatus

켜면, 엔진은 텍스처 스트리밍을 다시 빌드해야 하는지 검사하고, 시뮬레이트 또는 에디터에서 플레이(PIE) 모드일 때 경고를 표시합니다.

r.Streaming.DefragDynamicBounds

켜면, 미사용 다이내믹 바운드를 업데이트 루프에서 제거합니다.

r.Streaming.LimitPoolSizeToVRAM

켜면, 텍스처 풀 크기를 GPU 메모리 가용량만큼으로 제한합니다.

r.Streaming.MinMipForSplitRequest

0 이 아니면, 스트리머가 보이는 맵 역시 로드해야 할 때 텍스처에서 보이는 맵을 먼저 로드할 수 있도록 합니다. 앞으로 보이게 될 강제 로드되는 밉이나 숨겨진 밉 보다 현재 보이는 밉 우선순위를 높여 비주얼 퀄리티를 향상시킵니다.

r.Streaming.NumStaticComponentsProcessedPerFrame

0 이 아니면, 레벨이 보이기 전 엔진은 프레임마다 이 만큼의 컴포넌트를 점증적으로 로드합니다. 모빌리티가 스태틱 설정된 컴포넌트에 적용됩니다. 기본값은 50 입니다.

r.Streaming.ScaleTexturesByGlobalMyBias

스트리밍 텍스처의 원하는 해상도에 글로벌 밉 바이어스 스케일을 적용하여 낮출지 여부입니다.

r.Streaming.UseMaterialData

텍스처 스트리밍에 머티리얼 텍스처 스케일 및 좌표를 사용할지 여부입니다.

태그

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼