본문으로 건너뛰기
cinemaOS

문제 해결

DaVinci Resolve GPU 메모리 부족 오류: Mac 해결법

Mac DaVinci Resolve의 GPU memory full 오류 원인, 먼저 바꿀 설정(타임라인 해상도, 노이즈 리덕션, 노드, 미디어)과 재발 방지법을 정리했습니다.

Mac에서 DaVinci Resolve가 GPU 메모리가 가득 찼다는 "GPU memory full" 메시지를 띄운다면, 현재 프레임의 이미지 처리에 Resolve가 확보할 수 있는 것보다 많은 그래픽 메모리가 필요하다는 뜻입니다. 가장 빠른 해결책을 순서대로 꼽으면 이렇습니다. 작업하는 동안 타임라인 해상도를 낮추고, 템포럴 노이즈 리덕션을 줄이고, 무거운 노드를 정리하거나 캐시하고, 최적화 미디어나 프록시로 재생합니다. 다빈치 리졸브 GPU 메모리 부족 문제는 많은 경우 처음 두 가지만으로 해결됩니다. 아래에서는 원인, 오류를 일으키는 클립을 찾는 법, 재발을 막는 법을 다룹니다.

메시지 자체도 보통 타임라인 해상도를 낮추거나 교정 수를 줄이라고 제안합니다. 이 말을 그대로 받아들이십시오. 그 두 가지가 가장 큰 효과를 내는 수단입니다.

Mac에서 Resolve의 GPU 메모리가 부족해지는 이유

Resolve는 이미지 처리를 거의 모두 GPU에서 합니다. 재생하는 프레임은 하나하나 디코딩되고, 타임라인 해상도로 스케일된 다음, 클립에 적용된 노드, 이펙트, Fusion 도구를 차례로 통과합니다. 단계마다 프레임 사본을 메모리에 따로 가질 수 있고, 어떤 이펙트는 여러 프레임을 한꺼번에 붙잡고 있습니다.

여유 공간은 Mac에 따라 다릅니다.

  • Apple silicon. CPU와 GPU가 하나의 통합 메모리를 함께 씁니다. 자체 고정 용량을 가진 별도의 그래픽 카드는 없지만, macOS는 GPU가 그 메모리 중 얼마를 쓸 수 있는지 제한하고, Mac에서 열려 있는 다른 모든 것도 같은 메모리에서 가져다 씁니다. Resolve, 브라우저, 메신저 앱을 띄워 둔 16GB Mac은 상자에 적힌 숫자에서 기대하는 것보다 여유가 눈에 띄게 적습니다.
  • 외장 그래픽(별도 GPU)을 탑재한 Intel Mac. 그래픽 카드에는 자체 고정 비디오 메모리가 있고, 노트북에서는 넉넉하지 않은 경우가 많습니다. 그 메모리가 차면 프레임이 갈 곳이 없습니다.

그러니 이 오류가 버그인 경우는 드뭅니다. 일종의 계산입니다. 프레임 크기에 프레임 전체 사본이 필요한 작업 수를 곱한 값이, 그 순간 비어 있는 메모리를 넘어서는 것입니다.

오류를 일으키는 클립 찾기

설정을 바꾸기 전에 오류가 어디서 나타나는지 확인하십시오. 거의 항상 타임라인 전체가 아니라 특정 클립에서 나타납니다.

  • 타임라인을 처음부터 재생하면서 경고나 빨간 재생 표시가 뜨는 클립을 표시해 둡니다.
  • 각 클립에서 컬러 페이지를 열고 노드 트리를 봅니다. 노드 수를 세고 무거운 도구가 있는지 확인합니다. 템포럴 또는 공간 노이즈 리덕션, Magic Mask, Face Refinement, 렌즈 블러 계열 이펙트, 클립 속성(Clip Attributes)의 Super Scale, Fusion 컴포지션 같은 것들입니다.
  • 재생이 회복될 때까지 노드를 하나씩 비활성화합니다(노드를 선택하고 끄기). 다시 켰을 때 오류를 되돌려 놓는 노드가 가장 유력한 원인입니다.

이렇게 하면 샷 세 개를 고치려고 프로젝트 전체의 품질을 낮추는 일을 피할 수 있습니다.

먼저 바꿀 것

1. 작업하는 동안 타임라인 해상도 낮추기

보통 이것이 가장 효과적입니다. 프로젝트 설정(Project Settings)에서 마스터 설정(Master Settings)을 열고 타임라인 해상도를 낮춥니다. 예를 들어 UHD나 6K 대신 1920x1080으로 설정합니다. 그러면 모든 노드와 이펙트가 더 작은 프레임을 처리하므로 메모리 사용량이 크게 줄어듭니다. 타임라인이 프로젝트 기본값이 아닌 자체 설정을 쓰고 있다면, 해당 타임라인의 타임라인 설정(Timeline Settings)에서 해상도를 바꾸십시오.

Resolve는 해상도 독립적으로 설계되어 있어서 크기 조정, 윈도우, 트래킹이 변경에 맞춰 함께 스케일됩니다. 다만 주의할 점이 두 가지 있습니다. 블러 반경이나 샤프닝처럼 픽셀 단위로 지정하는 이펙트는 다른 해상도에서 조금 다르게 보일 수 있고, 이미 그레이딩한 프로젝트의 타임라인 해상도를 바꾸는 일은 프로젝트나 타임라인을 복제해서 하는 것이 가장 안전합니다. 최종 렌더링 전에는 해상도를 납품 크기로 되돌리고 무거운 샷을 다시 확인하십시오.

프로젝트를 건드리고 싶지 않다면, 재생(Playback) 메뉴에서 타임라인 프록시 해상도를 하프나 쿼터로 설정합니다. 재생할 때만 처리 해상도를 낮추며 렌더링에는 아무 영향이 없습니다.

2. 노이즈 리덕션 줄이기

템포럴 노이즈 리덕션은 이 오류의 가장 흔한 원인 가운데 하나입니다. 현재 프레임을 앞뒤 프레임과 비교하기 때문에, 분석할 프레임을 하나 늘릴 때마다 풀 해상도 프레임이 하나씩 GPU 메모리에 더해집니다.

  • 템포럴 설정의 프레임 수를 줄입니다. 노이즈가 약한 소스라면 프레임 수를 줄여도 결과가 거의 같아 보이는 경우가 많습니다.
  • 작업하는 동안에는 모션 추정(Motion Estimation)을 더 빠른 모드로 둡니다.
  • 템포럴과 공간 노이즈 리덕션을 모두 쓰고 있다면, 그 샷에 정말 둘 다 필요한지 확인합니다.
  • 노이즈 리덕션은 트리 앞쪽의 전용 노드에 두고 그 노드를 캐시합니다(노드를 오른쪽 클릭해 노드 캐시를 켜고, 재생 메뉴의 렌더 캐시를 Smart 또는 User로 설정). 그러면 Resolve가 매번 다시 계산하지 않고 한 번만 렌더링합니다.

템포럴 및 공간 노이즈 리덕션은 DaVinci Resolve Studio 기능이므로, 무료 버전을 쓰는데도 오류가 난다면 아래의 다른 원인을 살펴보십시오.

3. 노드 수 점검하기

간단한 교정을 길게 직렬로 이어도 부담은 크지 않습니다. 무거운 도구 몇 개를 한 클립에 쌓으면 부담이 커집니다. 흔한 원인은 Magic Mask, Face Refinement, Super Scale, 소프트니스를 크게 준 트래킹 윈도우 여러 개, 서드파티 OpenFX 플러그인입니다.

  • 같은 역할을 하는 간단한 교정은 노드 하나로 합칩니다.
  • 무거운 이펙트가 든 노드는 캐시하거나, 클립의 컨텍스트 메뉴에 있는 Render in Place로 구워 넣습니다. Resolve가 원본 클립과의 연결을 유지하므로, 나중에 그레이드를 바꿔야 하면 원본으로 돌아갈 수 있습니다.
  • 타임라인 레벨 노드와 조정 클립(Adjustment Clip)을 확인합니다. 타임라인 전체에 건 그레이드는 그 아래 모든 클립에서 실행되므로 부담이 몇 배로 늘어납니다.
  • 재생 메뉴에서 렌더 캐시를 Smart 또는 User로 설정해, Resolve가 재생할 때마다 다시 계산하지 않고 완성된 결과를 디스크에 저장하게 합니다.

4. 최적화 미디어나 프록시 사용하기

최적화 미디어와 프록시는 소스가 고해상도의 무거운 롱 GOP나 RAW 포맷일 때 가장 도움이 됩니다. 미디어 풀에서 클립을 오른쪽 클릭해 최적화 미디어나 프록시 미디어를 생성한 다음, 재생 메뉴에서 사용 가능할 때 이를 쓰도록 설정되어 있는지 확인합니다. 마스터 설정에서 최적화 미디어의 해상도와 포맷(ProRes나 DNxHR 계열 등)을 고를 수 있습니다.

이것이 무엇을 해결하는지는 현실적으로 보아야 합니다. 최적화 미디어는 디코딩 부담을 줄여 재생에 도움이 됩니다. 하지만 무거운 노이즈 리덕션 노드나 Fusion 컴포지션이 풀 타임라인 해상도에서 GPU에 요구하는 양은 줄이지 못합니다. 그래서 타임라인 해상도와 노드 선택이 먼저입니다.

Mac에서 확인할 만한 설정

몇 가지 환경설정과 습관이 Resolve가 실제로 쓸 수 있는 메모리 양에 영향을 줍니다.

  • GPU 처리 모드. 환경설정(Preferences)의 시스템(System), 메모리 및 GPU(Memory and GPU) 항목을 보면 Mac의 Resolve는 Metal을 사용합니다. 바꿀 이유가 없다면 GPU 선택은 자동으로 두십시오.
  • 다른 무거운 앱 닫기. 탭을 많이 연 브라우저, 다른 영상 앱, 3D 도구는 모두 Apple silicon에서 같은 통합 메모리를 두고 경쟁합니다.
  • 열린 타임라인과 Fusion 컴포지션 줄이기. 열려 있는 Fusion 컴포지션과 여분의 타임라인이 메모리를 붙잡고 있을 수 있습니다. 쓰지 않는 것은 닫으십시오.
  • 외부 디스플레이. 고해상도 외부 디스플레이도 GPU 메모리를 씁니다. 사양이 낮은 Mac에서는 5K나 6K 화면에 큰 뷰어를 띄우면 부담이 더해집니다.
  • 업데이트는 신중하게. Resolve와 macOS 업데이트는 GPU 동작을 바꾸는 경우가 많습니다. DaVinci Resolve 지원 페이지에서 릴리스 노트를 읽고, 프로젝트 도중이 아니라 프로젝트 사이에 업데이트하고, 먼저 프로젝트 라이브러리를 백업하십시오.

Resolve를 재시작하면 긴 작업 동안 쌓인 메모리가 비워집니다. 오류가 하루 일과 막바지에만 나타나고 재시작하면 사라진다면, 무거운 클립 하나보다는 쌓인 캐시와 열려 있는 타임라인이 원인일 가능성이 큽니다.

재발을 막는 방법

이 오류는 같은 종류의 프로젝트에서 되풀이되는 경향이 있습니다. 몇 가지 습관으로 대부분을 막을 수 있습니다.

  • 작업 해상도를 처음에 정하기. Mac이 버거워한다면 4K 이상 프로젝트에서도 HD로 편집과 그레이딩을 하고, 검토와 렌더링 때 납품 해상도로 바꿉니다.
  • 노이즈 제거는 한 번, 일찍. 노이즈 리덕션은 카메라별이나 장면별로 정하고, 캐시한 노드에 적용하며, 매번 다시 손대지 않습니다.
  • 의도를 갖고 노드 트리 짜기. 일관된 트리 구성을 써서 무거운 도구가 어디 있는지 알 수 있게 하고, 그 노드는 습관적으로 캐시합니다.
  • 무거운 포맷은 인제스트할 때 최적화 미디어 생성하기. 편집을 시작하기 전에 해 둡니다.
  • 내 Mac의 한계 알기. 메모리가 적은 Mac에서는 동시에 쓰는 무거운 이펙트를 줄이는 쪽으로 계획합니다. Apple silicon은 나중에 메모리를 늘릴 수 없으므로, 그레이딩용으로 새 Mac을 산다면 통합 메모리를 우선순위에 둘 만합니다.

가벼운 그레이드를 한 평범한 타임라인에서도 오류가 계속된다면, 세부 정보(Resolve와 macOS 버전, Mac 모델, 메모리, 코덱, 오류가 나는 노드 트리)를 Blackmagic 포럼이나 지원팀에 보내십시오.

FAQ

타임라인 해상도를 낮추면 최종 렌더링 품질이 떨어지나요?

렌더링 전에 되돌린다면 떨어지지 않습니다. Resolve는 해상도 독립적이라 그레이드, 크기 조정, 윈도우가 변경에 맞춰 스케일됩니다. 다만 블러나 샤프닝 같은 픽셀 기반 이펙트는 조금 다르게 보일 수 있으니, 되돌린 뒤 해당 샷을 확인하십시오.

Apple silicon에서 메모리를 늘리면 GPU memory full이 해결되나요?

통합 메모리가 많을수록 GPU의 여유가 커지므로, 메모리가 많은 Mac일수록 한계에 늦게 도달합니다. 그렇다고 고해상도에서 무거운 이펙트가 주는 부담이 사라지지는 않으므로, 더 큰 컴퓨터에서도 같은 습관이 필요합니다.

무료 버전 Resolve에서 이 오류가 더 자주 나나요?

그렇지는 않습니다. 무료 버전에는 템포럴 노이즈 리덕션처럼 가장 무거운 도구 일부가 없어서, 같은 소스라면 오히려 오류가 덜 날 수 있습니다. 원인과 해결책은 두 버전 모두 같습니다.

도구 자체가 문제라면

Resolve의 GPU 메모리 오류는 대부분 위의 단계로 고칠 수 있고, Resolve는 여전히 Mac에서 가장 뛰어난 그레이딩 도구 가운데 하나입니다. 더 큰 문제가 Resolve가 내 작업에 비해 무겁거나 배우기 어렵다는 점이라면, DaVinci Resolve가 어려울 때: 이유와 해법에서 그 이유를 살펴보고, Mac 편집자를 위한 DaVinci Resolve 대안에서 cinemaOS를 포함한 현실적인 선택지와 그 한계를 솔직하게 비교합니다.