DaVinci Resolve «GPU memory full» на Mac: як виправити
DaVinci Resolve пише GPU memory full на Mac? Чому так стається, що змінити спершу (роздільність таймлайну, зменшення шуму, ноди, медіа) і як цьому запобігти.
Коли DaVinci Resolve на Mac повідомляє, що пам'ять GPU заповнена (GPU memory full), це означає, що обробка зображення для поточного кадру потребує більше графічної пам'яті, ніж Resolve може отримати. Найшвидші рішення в такому порядку: знизьте роздільну здатність таймлайну на час роботи, послабте темпоральне зменшення шуму, скоротіть або закешуйте важкі ноди і відтворюйте з оптимізованих медіа чи проксі. У багатьох випадках «davinci resolve gpu memory full» вистачає перших двох змін. Нижче: чому це стається, як знайти кліп, що спричиняє помилку, і як не дати їй повернутися.
Саме повідомлення зазвичай радить знизити роздільну здатність таймлайну або зменшити кількість корекцій. Сприйміть це буквально: це два найбільші важелі.
Чому Resolve на Mac бракує пам'яті GPU
Resolve виконує майже всю обробку зображення на GPU. Кожен кадр, який ви відтворюєте, декодується, масштабується до роздільної здатності таймлайну, а потім проходить через кожну ноду, ефект та інструмент Fusion на кліпі. Кожен крок може тримати в пам'яті власну копію кадру, а деякі ефекти тримають одразу кілька кадрів.
Скільки місця є, залежить від Mac.
- Apple silicon. CPU і GPU ділять один пул уніфікованої пам'яті. Окремої відеокарти з власним фіксованим обсягом немає, але macOS обмежує, яку частину цього пулу може використовувати GPU, а все інше, що відкрито на Mac, бере з того самого пулу. Машина на 16 ГБ, на якій відкриті Resolve, браузер і месенджер, має помітно менше запасу, ніж обіцяє цифра на коробці.
- Mac на Intel з дискретною відеокартою. Відеокарта має власну фіксовану відеопам'ять, на ноутбуках часто скромну. Коли вона заповнюється, кадру більше нікуди подітися.
Тож ця помилка рідко є багом. Це арифметика: розмір кадру, помножений на операції, яким потрібна повна копія кадру, проти пам'яті, вільної саме в цю мить.
Знайдіть кліп, що спричиняє помилку
Перш ніж змінювати налаштування, зверніть увагу, де з'являється помилка. Майже завжди вона виникає на конкретних кліпах, а не на всьому таймлайні.
- Відтворіть таймлайн і позначте кліпи, на яких з'являється попередження або червоний індикатор відтворення.
- На кожному з них відкрийте сторінку Color і подивіться на дерево нод. Порахуйте ноди й відзначте важкі інструменти: темпоральне чи просторове зменшення шуму, Magic Mask, Face Refinement, ефекти на кшталт lens blur, Super Scale у Clip Attributes або композицію Fusion.
- Вимикайте ноди по одній (виберіть ноду й вимкніть її), доки відтворення не відновиться. Нода, з якою помилка повертається, і є головним підозрюваним.
Так вам не доведеться знижувати якість у всьому проєкті, щоб виправити три плани.
Що змінити насамперед
1. Знизьте роздільну здатність таймлайну на час роботи
Зазвичай це найдієвіше рішення. Відкрийте Project Settings, потім Master Settings, і встановіть нижчу роздільну здатність таймлайну, наприклад 1920x1080 замість UHD чи 6K. Тоді кожна нода й кожен ефект обробляють менший кадр, і споживання пам'яті суттєво падає. Якщо таймлайн використовує власні налаштування замість налаштувань проєкту за замовчуванням, змініть роздільну здатність у Timeline Settings цього таймлайну.
Resolve не залежить від роздільної здатності, тож масштабування, вікна й трекінг підлаштовуються під зміну. Є два застереження. Деякі ефекти, що вимірюються в пікселях, як-от радіус розмиття чи різкість, можуть виглядати трохи інакше за іншої роздільної здатності, а змінювати роздільну здатність таймлайну вже після кольорокорекції найбезпечніше на копії проєкту чи таймлайну. Перед фінальним рендером поверніть роздільну здатність до розміру здачі й перегляньте важкі плани.
Якщо не хочете чіпати проєкт, у меню Playback встановіть Timeline Proxy Resolution на половину або чверть. Це знижує роздільну здатність обробки лише для відтворення й ніяк не впливає на рендер.
2. Приборкайте зменшення шуму
Темпоральне зменшення шуму є однією з найчастіших причин цієї помилки. Воно порівнює поточний кадр із сусідніми, тож кожен додатковий кадр для аналізу додає в пам'ять GPU ще один кадр у повній роздільній здатності.
- Зменште кількість кадрів у темпоральних налаштуваннях. На злегка шумному матеріалі менша кількість кадрів часто виглядає майже так само.
- На час роботи переведіть оцінку руху (motion estimation) у швидший режим.
- Якщо ви використовуєте і темпоральне, і просторове зменшення шуму, перевірте, чи плану справді потрібні обидва.
- Винесіть зменшення шуму на окрему ноду на початку дерева й закешуйте цю ноду (клацніть ноду правою кнопкою й увімкніть для неї node cache, а Render Cache у меню Playback встановіть на Smart або User), щоб Resolve прорахував її один раз, а не перераховував на кожному проході.
Темпоральне й просторове зменшення шуму входять до DaVinci Resolve Studio, тож якщо у вас безкоштовна версія і помилка все одно з'являється, подивіться на інші причини нижче.
3. Порахуйте ноди
Довгий послідовний ланцюжок простих корекцій коштує мало. Кілька важких інструментів на одному кліпі коштують багато. Типові винуватці: Magic Mask, Face Refinement, Super Scale, кілька відстежуваних вікон із великою м'якістю країв і сторонні плагіни OpenFX.
- Об'єднайте прості корекції, що виконують ту саму роботу, в одну ноду.
- Кешуйте ноди з важкими ефектами або «запечіть» їх через Render in Place у контекстному меню кліпу. Resolve зберігає зв'язок з оригінальним кліпом, тож ви зможете до нього повернутися, якщо згодом доведеться змінити корекцію.
- Перевірте ноди рівня таймлайну й коригувальні кліпи (adjustment clips). Корекція, застосована до всього таймлайну, працює на кожному кліпі під нею, і вартість множиться.
- У меню Playback встановіть Render Cache на Smart або User, щоб Resolve зберігав готові результати на диску, а не перераховував їх під час кожного відтворення.
4. Використовуйте оптимізовані медіа або проксі
Оптимізовані медіа й проксі допомагають найбільше, коли джерелом є важкий long-GOP або raw-формат у високій роздільній здатності. Клацніть кліпи в Media Pool правою кнопкою й створіть optimized media або proxy media, а потім переконайтеся, що в меню Playback увімкнено їх використання, коли вони є. У Master Settings можна вибрати роздільну здатність і формат оптимізованих медіа, наприклад один із варіантів ProRes чи DNxHR.
Реально оцінюйте, що це вирішує. Оптимізовані медіа знижують навантаження на декодування, а це допомагає відтворенню. Вони не зменшують того, що важка нода зменшення шуму чи композиція Fusion вимагає від GPU в повній роздільній здатності таймлайну. Саме тому роздільна здатність таймлайну й вибір нод ідуть першими.
Налаштування на Mac, які варто перевірити
Кілька налаштувань і звичок впливають на те, скільки пам'яті Resolve справді може використати.
- Режим обробки на GPU. У Preferences, у розділі System, а далі Memory and GPU, видно, що Resolve на Mac використовує Metal. Залиште вибір GPU автоматичним, якщо немає причини його змінювати.
- Закрийте інші важкі програми. Браузери з багатьма вкладками, інші відеопрограми й 3D-інструменти конкурують за ту саму уніфіковану пам'ять на Apple silicon.
- Менше відкритих таймлайнів і композицій Fusion. Відкриті композиції Fusion і зайві таймлайни можуть утримувати пам'ять. Закрийте те, чим не користуєтеся.
- Зовнішні дисплеї. Зовнішні дисплеї високої роздільної здатності теж використовують пам'ять GPU. На слабшій машині великий в'юер на екрані 5K чи 6K додає навантаження.
- Оновлюйтеся свідомо. Оновлення Resolve і macOS часто змінюють поведінку GPU. Читайте примітки до випуску на сторінці підтримки DaVinci Resolve, оновлюйтеся між проєктами, а не посеред проєкту, і спершу зробіть резервну копію бібліотеки проєктів.
Перезапуск Resolve звільняє пам'ять, що накопичилася за довгу сесію. Якщо помилка з'являється лише наприкінці дня й зникає після перезапуску, причина, найімовірніше, у накопиченому кеші та відкритих таймлайнах, а не в одному важкому кліпі.
Як не дати помилці повернутися
Помилка зазвичай повертається на тих самих типах проєктів. Кілька звичок запобігають більшості випадків.
- Задайте робочу роздільну здатність на старті. Якщо ваш Mac не справляється, монтуйте й коригуйте колір у HD навіть у проєкті 4K чи більше, а для перегляду й рендеру перемикайтеся на роздільну здатність здачі.
- Прибирайте шум один раз і рано. Визначте зменшення шуму для кожної камери чи сцени, застосуйте його на закешованій ноді й не підкручуйте на кожному проході.
- Будуйте дерева нод свідомо. Тримайтеся однакової структури дерева, щоб знати, де живуть важкі інструменти, і кешуйте ці ноди за звичкою.
- Створюйте оптимізовані медіа під час імпорту для важких форматів, ще до початку монтажу.
- Знайте стелю своєї машини. На Mac з меншим обсягом пам'яті плануйте менше одночасних важких ефектів. На Apple silicon пам'ять не можна збільшити згодом, тож якщо купуєте новий Mac для кольорокорекції, уніфікована пам'ять варта пріоритету.
Якщо помилка не зникає на скромних таймлайнах із легкою корекцією, опишіть деталі (версії Resolve і macOS, модель Mac, обсяг пам'яті, кодек і дерево нод, на якому виникає збій) на форумі Blackmagic або в службі підтримки.
FAQ
Чи погіршує зниження роздільної здатності таймлайну якість фінального рендеру?
Ні, якщо повернути її перед рендером. Resolve не залежить від роздільної здатності, тож ваша корекція, масштабування й вікна підлаштовуються під зміну. Після повернення перегляньте плани з піксельними ефектами, як-от розмиття чи різкість, бо вони можуть виглядати трохи інакше.
Чи допоможе більше RAM із GPU memory full на Apple silicon?
Більше уніфікованої пам'яті дає GPU більше простору, тож Mac з більшим обсягом пам'яті впирається в межу пізніше. Це не прибирає вартості важких ефектів у високій роздільній здатності, тож ті самі звички потрібні й на потужнішій машині.
Чи частіше ця помилка з'являється в безкоштовній версії Resolve?
Не сама по собі. У безкоштовній версії немає деяких найважчих інструментів, як-от темпорального зменшення шуму, тож на тому самому матеріалі вона може викликати помилку рідше. Причини й рішення однакові в обох версіях.
Коли проблема в самому інструменті
Більшість помилок пам'яті GPU в Resolve виправляються кроками вище, і Resolve залишається одним із найсильніших інструментів кольорокорекції на Mac. Якщо ж головна проблема в тому, що Resolve здається важким чи складним для вашої роботи, стаття DaVinci Resolve надто складний? пояснює чому, а Альтернативи DaVinci Resolve для монтажу на Mac порівнює реалістичні варіанти, зокрема cinemaOS, і прямо називає їхні обмеження.