Исследование производительности Motion Blur в Cycles

Motion Blur в Cycles получил значительное улучшение производительности в Blender 2.78с. Однако, несмотря на все улучшения, рендеринг больших сцен с размытием движения производить все еще достаточно трудно. Как мы можем оптимизировать настройки рендеринга? Какое оборудование мы должны использовать? Мы провели 18 часов тестов по этой теме, так что вам нет нужды угадывать.

Все тесты проводились на следующей системе:

  • Intel i5 2500K @ 4.8 ГГц
  • 16ГБ ОЗУ
  • Две Nvidia GTX 1070 8GB
  • Blender 2.78c на Windows 10

Но спецификации не имеют значения, так как мы смотрим на относительную производительность. Начнем с простой сцены:
motion-blur-1
На изображении выше просто куча летающих костей для научного класса. Давайте посмотрим, как эта сцена отображается при различных значениях размытия движения и настройках BVH:
motion-blur-2
Наблюдение:

  • Без размытия движения сцена рендерится быстрее всего. При увеличении скорости затвора производительность уменьшается, поскольку объекты становятся более размытыми. Но общее снижение производительности не значительное.
  • Шаги BVH не слишком сильно влияют на производительность. Наверное, потому, что не так много пересекающейся геометрии.

Давайте посмотрим, как эта сцена поведет себя при рендеринге на графическом процессоре:
motion-blur-3
Наблюдение:

  • Рендеринг на GPU замедляется существеннее при использовании Motion Blur, но все равно происходит значительно быстрее нежели на процессоре.
  • Опять же, шаги BVH не слишком сильно влияют на производительность.

Хорошо, давайте рассмотрим более комплексную сцену одной из короткометражек над которой мы работали, а именно Sunny and Gerd. Этот кадр содержит деформации персонажей, тяжелую геометрию и очень быстродвижущуюся игрушку. Он отлично подходит для стресс-тестирования движка рендеринга:
motion-blur-4
Сначала давайте посмотрим, как процессор справляется с этой сценой:
motion-blur-5
В данной сцене мы действительно можем увидеть влияние размытия движения на производительность.

  • Как и в случае с простой сценой, чем длиннее след размытия движения, тем медленнее рендеринг. Но здесь разница намного выше.
  • Правильно настроенные временные шаги BVH могут существенно снизить время визуализации, особенно при высоких значениях значениях скорости затвора.
  • Используя типичную скорость затвора 0.5 (которая имитирует 180° затвор, используемый в кинокамерах) мы видим, что размытие движения можно визуализировать почти с такой же скоростью, что и сцена без размытия движения, когда шаги BVH установлен в значение 3.
  • Более высокие значения шагов BVH дают все меньший прирост производительности.

Ну и перед тем как закончить, давайте посмотрим на результаты рендеринга на GPU:
motion-blur-6

  • Производительность видеокарты существенно снижается при включении размытия движения.
  • Увеличение шагов BVH позволяет добиться приемлемых результатов, но все равно, производительность без использования размытия в разы лучше.
  • Шаги BVH сокращают время рендеринга за счет большего потребления памяти. Поэтому, чем больше значение, тем меньше памяти остается у видеокарты!

Резюмируя, увеличивайте ваши шаги BVH! Значения от 2 до 3 значительно повышают производительность при использовании Motion Blur. Иначе визуализировать быстродвижущиеся объекты будет практически невозможно. Во-вторых, CPU работает намного лучше с Motion Blur, нежели GPU.

К сожалению, это лишь часть истории. Обычно для сцен с высокой степенью размытия движения требуется увеличить количество сэмплов для достижения чистого результата. Таким образом, рендеринг с использованием Motion Blur потребует больше сэмплов и, следовательно, потребует еще больше времени, что значительно снижает производительность.

Все что написано в данной статье относится лишь к Blender 2.78c. Разработчики Blender проделали удивительную работу по улучшению производительности Cycles на протяжении многих лет. Уверен, со временем все наладится.

источник урока

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.