Кэширование в DaVinci Resolve

Автор: Дмитрий Чайник

В DaVinci Resolve 11 реализовано 4 уровня кэширования:

  1. Кэширование данных на выходе клипа (Output Cache);
  2. Кэширование ноды (Node Cache);
  3. Кэширование данных на входе клипа (Source Cache);
  4. Кэширование последовательности (Sequence Cache).

Схематично принцип обработки потока данных в DaVinci Resolve 11 можно представить следующим образом:

Cхема обработки потока данных в DaVinci Resolve 11.

Как видно из рисунка, данные из клипа поступают на таймлайн и после — на воспроизведение (если быть точным, то данные после таймлайн поступают на output lut, затем на calibration lut и только тогда на воспроизведение). Так же необходимо учитывать, что ноды могут быть добавлены и для таймлайн, а они в свою очередь, кеширование не поддерживают, поэтому, в случае использования ресурсоемких операций над таймлайн, запинаний компьютера не избежать.

В программе имеется два режима работы с кэшем: Интеллектуальный (Smart) и Пользовательский (User).

Пользовательский режим предоставляет практически полный контроль над процессом кэширования. В интеллектуальном режиме, напротив, — кэширование осуществляется без участия пользователя, т.е. автоматически.

Для перехода в пользовательский режим выполните команду Playback → Render Cache → User. После этого станут доступными первые три уровня кэширования (см. список выше).

Кэширование данных на выходе клипа

Уровень кэширования выходного потока является последним в цепочке. Именно с этого уровня данные поступают на воспроизведение. Поэтому используется он, как правило, для монтажа. Единственная проблема заключается в том, что кэш пересчитывается всякий раз, когда для клипа были внесены изменения.

Чтобы включить кэширование выходного потока вызовите контекстное меню по клипу и выполните команду Render Cache Clip Output.

Кэширование данных ноды

Как понятно из названия, данный уровень обеспечивает кэширование результата работы отдельной ноды.

Чтобы включить кэширование ноды вызовите контекстное меню по ноде и выполните команду Node Cache → On.

Включение кэширования ноды.

Этот уровень кэширования является наиболее гибким. Рассмотрим пример.

Создадим две ноды. К первой применим Motion Blur и включим ее кэширование, а для второй — выполним ЦК. Все изменения во второй ноде не повлияют на кэш в первой. Ситуация изменится, если мы внесем изменения в цепочку до первой ноды. В этом случае кэш первой ноды будет просчитан заново.

Данный тип кэширования удобно использоваться при работе со сторонними OpenFX-плагинами, требующими, как правило, достаточно много CPU- и GPU-времени.

Кэширование данных на входе клипа

Кэширование входного потока находится в самом начале цепочки (см. рисунок выше). Единственным элементом, который может повлиять на кэширование входного потока является модуль Camera RAW. Любые изменения в этом модуле приведут к пересчету кэша.

Чтобы включить кэширование входного потока вызовите контекстное меню по клипу и выполните команду Render Cache Clip Source → On.

Включение кэширования входного потока.

Данный тип кэширования можно рассматривать как упрощенный вариант прокси. Предпочтение ему следует отдавать в случае работы с тяжелыми форматами, требующими CPU- и GPU-обработки.

Например, при работе с RAW, после задания параметров в модуле Camera RAW, вы можете включить кэширование входного потока и дальнейшая работа над материалом не будет задействовать дебайеренг. При этом DaVinci Resolve сохраняет кэш в разрешении таймлайн. Так, в случае использования 4K-файлов на таймлайн с установленным разрешением 1080р, разрешение кэша будет уменьшено (downscaling) до 1080р.

Кэширование последовательности

Данный тип кэширования доступен только в интеллектуальном режиме и работает с клипами, в которых:

  • использован метод наложения отличный от Normal;
  • изменена непрозрачность (opacity);
  • применен эффект изменения скорости.

Запуск кэширования

При включенном кэшировании, процесс будет запускаться в фоновом режиме после 5 секунд бездействия. Величину ожидания можно изменить в настройках проекта: General Options → Enable background caching after X seconds. В этом же окне вы можете выбрать формат, в котором будет просчитываться кэш (поле Cache frames In).

Настройки запуска кэширования.

Индикатор кэширования

Красный индикатор над изображеним клипа означает, что кэш сброшен и будет произведен повторный просчет. Синий цвет - говорит об актуальности кэша.

Индикатор кэширования.

Сброс кэша

Кэш сбрасывается всякий раз, когда внесены изменения до точки кэширования. Это означает, что:

  • Кэш данных на выходе пересчитывается всегда, после любых изменений в клипе.
  • Кэш ноды обнуляется всякий раз, когда внесены изменения до ноды кэширования.
  • Кэш данных на входе будет повторно пересчитан, в случае изменения исходного файла или если изменены параметры в модуле Camera Raw.

Хранение кэша

Храниться кэш на диске, указанном первым в списке Media Store в окне настроек программы. Помещается кэш в директорию CacheClip. Так же место хранения кеша можно указать в окне настроек проекта (поле Cache files location см. рис. Настройки запуска кэширования).

Увеличение произоводительности кэша

Производительность кэша напрямую зависит от скорости работы диска. Чем быстрее диск — тем лучше. Идеальным вариантом здесь может оказаться использование SSD-дисков. Однако использование для кэширования SSD-диска, сильно сокращает срок его службы. Эмпирически было установлено, что двух месяцев активной работы достаточно, для потери диска.

Удаление кэша

Для удаления всего кэша с диска выполните команду Playback → Delete Render Cache → All. Для удаления кэша только выделенных клипов выполните Playback → Delete Render Cache → Selected clips.


Социальные комментарии Cackle