일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UE4
- 비교 함수 객체
- Smart Pointer
- effective stl
- Effective c++
- 예외
- 다형성
- 영화 리뷰
- lua
- implicit conversion
- 게임
- 오블완
- 루아
- operator new
- 암시적 변환
- Vector
- 상속
- reference
- 반복자
- 언리얼
- resource management class
- 스마트 포인터
- 메타테이블
- exception
- 참조자
- 티스토리챌린지
- 영화
- more effective c++
- virtual function
- c++
- Today
- Total
스토리텔링 개발자
[UE4] 파생 데이터 캐시(Derived Data Cache) 본문
개요
파생 데이터 캐시란 무엇일까요?
에디터에서 새로운 레벨을 열고 실행할 때마다 '파생 데이터 캐시를 생성한다'는 메시지가 뜨곤 하는 게 퍼뜩 생각나는데요.
그렇다면 에셋을 사용하기 위해 쌓이는 일종의 캐시를 의미하는 것일까요?
파생 데이터와 파생 데이터 캐시(DDC)
파생 데이터(Derived Data)는 에셋을 사용하기 위해 생성되는 부가적인 데이터들입니다.
사실, 언리얼 에셋 사용을 위해선 이 파생 데이터가 반드시 필요합니다.
쉐이더의 경우를 예로 들어보겠습니다.
쉐이더의 경우 렌더링하려면 쉐이더 컴파일이 필요합니다.
그 컴파일 과정 후에 나온 데이터들이 있을 텐데요.
그게 바로 파생 데이터입니다.
파생 데이터는 그 크기가 큰데다가, 에셋 변화가 있을 시 언제든 새로 재생성될 수 있습니다.
그래서 체크인 되지 않고 캐싱 폴더에 임시 보관됩니다.
이 임시 보관되는 파일들을 파생 데이터 캐시(DDC)라고 합니다.
DDC 탐색
프로젝트 구성에 따라 여러 DDC 뭉치가 있을 수 있습니다.
그러므로 엔진 입장에서는 이 캐시들을 잘 탐색해야 할 필요성이 있을 것입니다.
캐시란 게 결국 빠르게 사용하기 위해 쌓아두는 거잖아요?
캐시를 탐색하는 과정은 아래와 같습니다.
- 빠른 캐시 순으로 데이터를 탐색합니다.
- 데이터를 발견하면 가장 빠른 로컬 캐시로 복사합니다.
- 데이터를 찾지 못했으면 먼저 데이터를 생성하고 캐시에 비동기 복사를 진행합니다.
공유 DDC
에셋의 양이 많아지면 DDC를 생성하는 데만 해도 꽤 많은 시간이 듭니다.
그럴 때는 공유 DDC를 설정하는 것이 좋습니다.
공유 DDC는 DDC 저장 위치를 공유해서 다른 사람이 생성한 DDC를 함께 사용하는 걸 뜻합니다.
이미 캐싱이 되어 있따면, DDC를 생성하느라 드는 불필요한 시간들을 줄일 수 있겠죠.
공유 DDC 설정 방법은 아래와 같습니다.
1. DefaultEngine.ini 파일에 [InstalledDerivedDataBackendGraph] 또는 [DerivedDataBackendGraph] 섹션을 선언합니다.
이 섹션은 원래 BaseEngine.ini 에 선언되어 있으며며, 기본적으로 에픽의 내부 DDC 공유 경로로 설정되어 있습니다.
즉 DefaultEngine.ini에 해당 섹션이 선언되어 있지 않다면 자동으로 로컬 DDC를 사용합니다.
2. 다른 네트워크 공유 경로로 설정하려면 재선언한 해당 섹션 아래의 경로를 다음과 같은 방식으로 변경해야 합니다.
- Windows: (Path=\mystudio.net\DDC)
- Mac: (Path=/Volumes/UE4DDC)
'개발 > 언리얼 엔진' 카테고리의 다른 글
[UE4] 사운드 에셋(Sound Asset) (0) | 2021.11.04 |
---|---|
[UE4] 렌더 하드웨어 인터페이스(RHI, Render Hardware Interface) (0) | 2021.11.02 |
[UE4] 컨텐츠 쿠킹(Content Cooking) (0) | 2021.10.27 |
[UE4] 비주얼 스튜디오 디버깅을 위한 비주얼라이저(UE4 Visualizer for Debuging Visual Studio) (0) | 2021.10.22 |
[UE4] 구조체(Struct) (0) | 2021.10.14 |