Cinema 4D의 Redshift Out-of-Core 메모리: 텍스처 캐시, 지오메트리, VRAM 한계
Redshift는 지오메트리와 텍스처를 Out-of-Core(아웃오브코어)로 두어 GPU 메모리보다 큰 씬도 렌더링할 수 있습니다. Maxon 문서의 핵심은 다음과 같습니다.
- 메모리 분배 방식: 예약 메모리와 레이 메모리를 뺀 나머지를 지오메트리와 텍스처 캐시(기본 15%)가 나눠 씁니다.
- Out-of-Core에는 비용이 있습니다: Maxon은 Out-of-Core 접근이 지나치면 렌더링이 크게 느려질 수 있으며, 하이폴리 씬에는 VRAM이 넉넉한 편이 낫다고 안내합니다.
- 모든 데이터가 Out-of-Core로 가는 것은 아닙니다: Maxon 지원 문서에 따르면 OpenVDB 같은 볼륨 그리드는 Out-of-Core로 저장할 수 없습니다.
- 텍스처: Redshift는 텍스처를 자체 타일·밉맵 형식으로 변환하고 필요한 부분만 스트리밍합니다. Texture Processor로 미리 변환할 수 있습니다.
- GPU당 VRAM: VRAM은 GPU 간에 합쳐지지 않습니다. GPU당 32 GB인 iRender RTX 5090 서버는 24 GB 카드보다 무거운 씬을 더 많이 VRAM에 둘 수 있습니다.
Redshift 씬이 GPU 메모리보다 커지면 대개 느려진 채로 계속 렌더링하거나, 메모리 오류로 멈춥니다. Redshift가 VRAM을 나누는 방식과 Out-of-Core로 옮길 수 있는 데이터를 알면 어느 쪽이 될지, 무엇을 바꿔야 할지 알 수 있습니다. 이 가이드는 Maxon의 Redshift Memory 문서와 지원 문서를 따릅니다.
2026년 11월 Cinema 4D 및 Redshift 문서와 대조해 확인했습니다.
1. Redshift는 GPU 메모리를 어떻게 나눌까?
Redshift는 모듈용 메모리를 예약하고 레이 메모리를 할당한 뒤, 남은 메모리를 지오메트리와 텍스처 캐시에 나눕니다(Maxon: Memory). 아래 그림은 메모리 배치와 Out-of-Core 데이터가 이동하는 경로를 보여 줍니다.
각 GPU 안에서는 대개 지오메트리가 가장 큰 몫을 차지하고, 텍스처 캐시는 작으며 텍스처가 스트리밍되면서 재활용됩니다. 들어가지 않는 데이터는 시스템 RAM으로 옮겨져 필요할 때 PCIe로 오가는데, 이는 VRAM보다 느립니다. OpenVDB 같은 볼륨 그리드는 VRAM에 남아 있어야 합니다.
중요한 Redshift 메모리 설정
Maxon의 Redshift Memory 문서 기준 (고급 설정이며, 잘못된 값은 성능을 떨어뜨릴 수 있습니다).
| 설정 | 하는 일 | 바꿔야 할 때 |
|---|---|---|
| Automatic Memory Management | Redshift가 씬을 분석해 GPU 메모리를 레이, 지오메트리, 텍스처에 나눕니다. | 대부분의 씬에서 켜 둠 |
| Percentage of free memory for texture cache | 남은 메모리 중 텍스처 몫이며 기본 15%. Maximum GPU Texture Cache Size로 상한이 정해집니다. | 거의 없음. Maxon은 큰 텍스처 캐시가 필요한 씬은 매우 드물다고 안내 |
| Maximum CPU Texture Cache Size | 업로드 전 텍스처 데이터를 CPU 메모리에 두며 기본 4 GB. | 텍스처가 많은 씬: Maxon은 8 GB 이상 권장 |
| Ray reserved memory | 레이용으로 따로 잡아 두는 메모리. | 문서에 나온 특정 오류가 있을 때만 |
| Texture Cache Max GB (Preferences) | 변환된 텍스처와 컴파일된 셰이더가 저장되는 디스크 폴더의 한도이며, 가득 차면 오래된 파일부터 지웁니다. | 캐시 드라이브가 찰 때 |
2. Out-of-Core의 비용은? Out-of-Core로 갈 수 없는 것은?
3. 텍스처와 .rstexbin 파일은 어떻게 동작할까?
Redshift는 텍스처를 자체 렌더링 형식으로 변환하며, 밉맵은 텍스처의 색 공간으로 계산하고, 필요한 부분만 업로드합니다(Maxon: Texture Processor). 변환은 렌더링할 때 자동으로 이루어지거나, Texture Processor로 미리 할 수 있습니다. Texture Processor는 변환된 파일을 원본 옆에 같은 이름으로 저장합니다.
- 미리 변환하기 : 네트워크 저장소의 큰 텍스처 세트는 미리 변환해 두면 렌더 머신마다 다시 변환하지 않습니다.
- 파일 이름은 고유하게 : 확장자와 상관없이 wall.jpg와 wall.exr은 같은 변환 파일을 만듭니다.
- 로그 확인: 로그에는 Redshift가 텍스처마다 사용한 Texture Processor 옵션이 나옵니다. 예:
-cs "sRGB".
4. Out-of-Core로 느려질 때 고치는 방법(단계별)
설정 점검표 (복사하거나 한 줄씩 따라 하세요):
1. 측정 Redshift Feedback Display ... Geometry, Texture [cache size], PCIe uploaded 2. 지오메트리 ................. 화면 밖 subdivision/displacement 낮추기, 프록시, 인스턴스 3. 텍스처 해상도 ..................... 화면 크기에 맞추기 미리 변환 .................. redshiftTextureProcessor.exe-cs "sRGB" (컬러 맵) redshiftTextureProcessor.exe -cs "Raw" (데이터 맵) Maximum CPU Texture Cache .. 기본 4 GB → 텍스처가 많은 씬은 8 GB 이상 4. 볼륨 (OpenVDB) ............ VRAM에 들어가야 함: 그리드 해상도를 낮추거나 패스 분리 5. 그래도 너무 크면 .......... 카드당 VRAM이 더 큰 GPU (카드를 늘리면 속도가 늘 뿐 메모리는 늘지 않음)
1단계: 측정하기
무거운 프레임을 렌더링하고 다음을 확인합니다: Feedback Display: 지오메트리, 텍스처 캐시, PCIe 업로드 수치.
2단계: 지오메트리 줄이기
카메라에 디테일이 보이지 않는 곳은 subdivision과 displacement를 낮추고, 반복되는 오브젝트에는 프록시나 인스턴스를 쓰세요.
3단계: 텍스처 다루기
화면 크기에 맞는 텍스처 해상도를 쓰고, 텍스처를 미리 변환하며, 텍스처가 많은 씬은 Maxon의 권장대로 CPU 텍스처 캐시를 늘리세요.
4단계: 볼륨 주의하기
볼륨은 VRAM에 들어가야 합니다. 그리드 해상도를 낮추거나 요소를 별도 패스로 나누세요.
5단계: GPU당 VRAM이 더 큰 카드 쓰기
그래도 씬이 들어가지 않으면 카드당 메모리가 더 큰 GPU에서 렌더링하세요. 카드를 늘려도 용량은 늘지 않습니다.
5. 메모리가 큰 씬은 어디서 렌더링할까: SaaS와 IaaS 렌더팜
A SaaS 렌더팜은 업로드한 씬을 자체 하드웨어에서 그대로 렌더링하므로, 렌더팜 GPU에 들어간다고 이미 확인된 씬에 맞습니다. IaaS 렌더팜 인 iRender는 렌더 머신에서 Cinema 4D 세션 전체를 제공하므로, Feedback Display를 보고 메모리와 텍스처를 조정하고, 시퀀스를 렌더링하기 전에 무거운 프레임을 테스트할 수 있습니다.
iRender 멀티 GPU 서버에서 녹화한 Redshift 작업.
iRender에서는 RTX 5090 또는 RTX 4090 GPU 2장, 4장, 8장을 갖춘 서버 한 대를 통째로 빌리며, Cinema 4D와 Redshift가 미리 설치되어 있습니다. Prime 회원은 활성화된 Cinema 4D와 Redshift 라이선스를 받습니다. 관련 글: Redshift 멀티 GPU 렌더링 와 Redshift Proxy. 실제 렌더 시간은 저희 Redshift 벤치마크에서, 요금제는 Cinema 4D Redshift 렌더팜 페이지에서 확인하세요.
6. Redshift Out-of-Core FAQ
Redshift의 Out-of-Core 렌더링이란 무엇인가요?
지오메트리와 텍스처가 GPU 메모리에 들어가지 않는 씬도, 데이터를 시스템 RAM에 두고 필요한 것을 PCIe로 옮겨 렌더링하게 해 주는 기능입니다. 큰 씬을 계속 렌더링할 수 있지만, 접근이 지나치면 렌더링이 크게 느려질 수 있습니다.
Redshift는 여러 GPU의 VRAM을 합치나요?
아니요. Maxon 지원 문서에 따르면 Redshift는 GPU 간에 VRAM을 합치지 않습니다. GPU마다 자기 메모리만 쓸 수 있으므로 모든 카드가 씬을 담아야 합니다.
Redshift에서 OpenVDB 볼륨을 Out-of-Core로 둘 수 있나요?
아니요. Maxon 지원 문서에 따르면 Redshift는 현재 OpenVDB 같은 볼륨 그리드를 Out-of-Core로 저장할 수 없으므로, 볼륨은 GPU 메모리에 들어가야 합니다.
Redshift가 Out-of-Core로 렌더링하는지 어떻게 알 수 있나요?
Feedback Display와 로그를 보세요. 모듈별 메모리와 PCIe로 업로드된 텍스처 데이터 양이 나옵니다. 텍스처 캐시 크기에 비해 업로드가 크면 텍스처가 스트리밍되고 있다는 뜻입니다.
Redshift Texture Processor는 무엇을 하나요?
렌더링 전에 텍스처를 Redshift 자체 형식으로 변환해 원본 파일 옆에 저장합니다. 그렇지 않으면 Redshift가 렌더링할 때 자동으로 변환해 로컬 캐시 폴더에 둡니다.
텍스처 캐시를 늘려야 하나요?
대개는 아닙니다. Maxon은 대부분의 씬에서 15%가 적절하다고 설명합니다. 텍스처가 많은 씬에서 성능 문제가 있으면 Maxon은 CPU 텍스처 캐시를 4 GB에서 8 GB 이상으로 늘리라고 권장합니다.




