버추얼 에셋 디버깅

버추얼 에셋의 로깅 및 디버그 출력

이 페이지에서는 프로젝트의 버추얼 에셋(Virtual Assets) 에 대한 정보 및 디버그 출력을 확인하는 방법을 설명합니다.

가상화된 패키지 유효성 검사하기

패키지가 제대로 가상화되었는지 확인하려면 콘텐츠 브라우저에서 에셋 위에 마우스를 올리고 가상화된 데이터 보유(Has Virtualized Data) 항목을 확인합니다.

image alt text

아니면 에셋의 파일 크기를 확인해도 됩니다. .uasset 파일이 가상화하기 전보다 훨씬 작은 경우, 벌크 데이터가 .uasset 에서 분리되어 이제 Saved/VirtualizedPayloads 디렉터리에 포함된 것입니다.

패키지 파일의 콘텐츠를 조사하려면, 콘텐츠 브라우저(Content Browser) 에서 에셋을 우클릭하고 파일 경로 복사(Copy File Path) 를 클릭한 다음, 콘솔에 다음 명령을 입력합니다.

DumpPackagePayloadInfo [파일 경로]

[파일 경로] 자리에 콘텐츠 브라우저에서 복사한 파일 경로를 입력합니다.

이 콘솔 명령은 전체 경로나 패키지 경로를 사용할 수 있으며, 출력 창에 페이로드 요약을 표시합니다. 출력에는 로컬에 저장된 페이로드 목록에 이어 가상화된 페이로드 목록이 표시됩니다.

DumpPackagePayloadInfo는 에셋 레지스트리와 같은 캐시된 정보를 사용하지 않습니다. 대신, 사용할 때마다 패키지의 정보를 다시 파싱하므로 DumpPackagePayloadInfo가 제공하는 정보는 항상 최신 상태입니다.

통계 패널로 버추얼 에셋 모니터링하기

통계 패널(Statistics Panel) 에는 머신에서 버추얼 에셋이 행동하는 방식에 대한 정보가 표시됩니다. 이 패널은 툴(Tool) > 검사(Audit)> 버추얼 에셋(Virtual Assets) 에서 찾을 수 있습니다.

Auditing virtual assets

버추얼 에셋 통계 패널입니다. 현재 패널에는 DDC 백엔드와 프로젝트의 소스 컨트롤, 이 두 백엔드의 읽기(Read), 쓰기(Write) 및 캐시(Cache) 통계가 표시됩니다.

버추얼 에셋 탭의 각 행은 환경설정 파일 구성에 따라 쉽게 식별되는 서로 다른 백엔드를 나타냅니다. 언리얼 엔진은 다음에 대한 통계를 기록합니다.

  • 읽기

    • 필요시 백엔드에서 페이로드를 풀합니다.

  • 쓰기

    • 가상화 시 백엔드에 페이로드를 푸시합니다.

  • 캐시

    • 페이로드를 소스 컨트롤 시스템과 같은 더 느린 백엔드에서 풀하면, 반복되는 액세스 속도를 단축하기 위해 더 빠른 백엔드에 페이로드가 푸시됩니다.

디버그 명령 레퍼런스

이 섹션에서는 언리얼 엔진 에서 버추얼 에셋 시스템을 디버깅하기 위한 디버그 명령을 제공합니다. 해당하는 경우 언리얼 에디터의 콘솔 창과 명령줄 모두에 대한 명령을 제공합니다. 명령줄에서 사용하는 대부분의 명령은 환경설정 파일에서도 사용할 수 있습니다. 또한, 가상화 그래프에서 이러한 명령의 명령줄 버전을 사용할 수도 있습니다.

버추얼 에셋 시스템 비활성화하기

  • 명령줄: -VADisable

  • 콘솔: VA.DisableVirtualization

가상화 시스템을 비활성화하고 대신 null 구현을 마운트합니다.

이는 DefaultEngine.ini 파일의 [Core.ContentVirtualization] 섹션에서 SystemNameNone 으로 설정하는 것과 같습니다.

비활성화 시, 가상화 시스템 인터페이스의 모든 메서드는 실패 상태를 반환합니다.

백엔드 그래프 오버라이드하기

  • 명령줄: -VABackendGraph=

DefaultEngine.ini 파일 [Core.ContentVirtualization] 섹션의 'BackendGraph' 값을 편집하는 것처럼 초기화 시 가상화 시스템이 사용하는 백엔드 그래프를 변경합니다.

그래프 이름은 실행하려는 프로젝트에 대해 구성된 기존 그래프와 같아야 합니다. 기존 그래프가 없으면 가상화 시스템 시작 시 치명적인 오류가 발생합니다.

특정 백엔드 비활성화하기

  • 명령줄: -VAMissBackends=[백엔드 이름]

  • 콘솔: VA.MissBackends

페이로드를 전혀 풀하지 않도록 하나 이상의 백엔드를 비활성화합니다. 이 명령에는 다음과 같은 입력을 사용할 수 있습니다.

입력

결과

백엔드 이름(Backend name)

비활성화하려는 백엔드의 이름입니다. + 로 이름을 결합하여 여러 개의 백엔드 이름을 제공할 수 있습니다. 예를 들어, -VA-MissBackends=FastCache+SlowCache 명령은 나열된 두 백엔드를 모두 비활성화합니다.

모두(All)

어떤 백엔드도 페이로드를 풀하지 못하게 합니다.

리셋(Reset)

모든 백엔드를 리셋하고 활성화합니다.

목록(List)

현재 비활성화된 백엔드를 나열합니다.

잘못된 연결 시뮬레이션하기

  • 명령줄: `-VAMissChance=[실패 확률]

  • 콘솔: VA.MissChance

페이로드 풀이 자동으로 실패할 확률을 설정하여 잘못된 연결을 시뮬레이션합니다. 예를 들어, -VA-MissChance=50 은 실패 확률을 50%로 설정합니다.

지정된 횟수만큼 페이로드 풀 실패하기

  • 콘솔: VA.MissCount=[놓칠 페이로드 풀 횟수]

자동으로 다음 X 번 만큼 페이로드 풀을 놓칩니다. 여기서 X 는 이 명령으로 지정하는 횟수입니다.

VA.MissCount 의 명령줄 버전은 없습니다.

페이로드 푸시 유효성 검사하기

  • 명령줄: -VAValidatePushes

  • 콘솔: VA.ValidatePushes

각 푸시 이후에 페이로드를 풀하고 원래 파일과 비교함으로써 페이로드 유효성을 검사합니다. 이는 DefaultEngine.ini 파일에서 ValidateAfterPushOperation 옵션을 설정하는 것과 같습니다.

단일 스레드 모드 강제하기

  • 명령줄: -VASingleThreaded

  • 콘솔: VA.SingleThreaded

시스템이 단일 스레드 모드에서 작동하도록 강제하여 버그의 원인이 될 수 있는 다중 스레드 액세스를 제거합니다. 이는 DefaultEngine.ini 파일에서 ForceSingleThreaded 옵션을 설정하는 것과 같습니다.

로깅

가상화 시스템이 초기화될 때 활성화된 옵션과 세팅을 보여주는 상세 로그가 있습니다. 여기에는 제대로 구성되지 않은 부분이 있고 중요 데이터 오류가 발생할 가능성이 있는 경우에 대한 치명적인 로그 메시지가 포함됩니다.

정상 작업 과정 중에는 로깅이 최소로 유지되고 적절한 경고와 오류만 표시해야 합니다. 하지만, 상세 로깅 을 활성화하면 문제 디버깅에 유용한 추가 정보가 로그에 표시됩니다.

상세 로깅을 활성화하려면 명령줄에서 다음 명령을 사용합니다.

-LogCmds="LogVirtualization Verbose" 

-ini:Engine:[Core.Log]:LogVirtualization=Verbose"
태그
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소