Метки
Автор: f7423559 - Ответы: 11 - Просмотры: 1163
Iray в DS
Предисловие.
В DS Iray появился в 2015 году и сосуществует вместе со старой системой рендеринга 3Delight и совсем уж древней OpenGL. При желании можно переключаться между ними, но магия старых рендер-движков уже не впечатляет. Пример одной картинки
Минусом Iray является практически обязательное наличие видеокарты от Nvidia. Причем крайне желательно поновее и помощнее, а еще лучше - парочку таких. Видеокарты от AMD (тем более Intel) с ним не заработают и обсчет будет производится только на CPU (долго и мучительно даже на самом топовом i7)
Если глянуть в вики, то сразу всем всё станет "ясно и понятно": "Iray — самостоятельный unbiased визуализатор. Позволяет производить вычисления одновременно на центральном процессоре и графическом процессоре с архитектурой CUDA".
Для понимания основ вроде бы всего этого достаточно. Можно еще кучу формул с вики и спецфорумов понатащить, но это вообще никому неинтересно. В общем условимся, что это такая специальная магия, вроде квантовой механики (голос за кадром: ааа… ну так бы и сказал сразу… ), рисующая нам волшебные картинки и перейдем к её практическому использованию в DAZ Studio (далее - DS)
Ускорение рендера.

Самый больной после двух часов ожидания вопрос. Решается несколькими путями:
  • Смена железа на самое-самое
  • Настройки рендера
  • Настройки сцены

1. Основные настройки рендера
Убеждаемся что в настройках включен GPU Nvidia. При наличии видеокарты GF500 и выше, также надо включить опцию "OptiX Prime Acceleration" отвечающую за аппаратный просчет лучей (в GF2xx/4xx и ниже нет аппаратной поддержки OptiX и включение опции в лучшем случае ни на что не повлияет, в худшем могут быть глюки, но я этого не проверял)
[Изображение: https://image.ibb.co/edUX6F/iraysett.png]
Включение CPU впридачу к GPU (помним что Iray позволяет распределять вычисления между ними) на моем бывшем средне-топовом, а ныне... гм, ну ладно... ноутбуке дает прирост производительности примерно на четверть, но для более мощных видеокарт, вполне вероятно не потребуется совсем и только будет тормозить рендер.
Для ноутов также есть один подводный камень: при наличии в системе двух видеокарт, одна из которых не нвидия (встроенный Intel), надо обязательно запускать DS принудительно на нвидиевской карточке (в Панели управления Nvidia - Управление параметрами 3D - Программные настройки). Иначе DS может не "подцепить" карточку и начнет считать только на CPU, в цать раз медленней
2. Дополнительные настройки
Особенность unbiased рендера - процентный рендер картинки (это я своими словами, идущими прямо из спинного мозга). Сначала будущая картинка заполняется чернотой, затем приблизительным "шумом", затем "шум" порциями-сэмплами-итерациями пикселов упорядочивается по своим местам и цветам. В идеале iray может выдать картинку, где каждый пиксель 100% математически точно просчитан по цвету, а также нарисован на 100% нужном месте. В общем этакий эталон сферического коня в вакууме. Вот только человеческий глаз хрена с два различит картинки просчитанные на 100% и на 95%, а разница по времени обсчета этих 5% может достигать нескольких [десятков] часов.
[Изображение: https://image.ibb.co/kZjX6F/progresrndsett.png]
С последним пунктом настройки (Converged Ratio) теперь надеюсь всё стало понятно. Ниже процент - быстрее рендер, хуже качество. Вполне может подойти и 60% для финала, а при предварительных рендерах может и 5% устроить. Вообще тут очень близка аналогия с вычислением Пи, которое можно вычислять до сто тысяч пятисотого знака после запятой, только никакого практического смысла это не будет иметь.
Все настройки на этой вкладке работают как лимиты. Если какой-то из лимитов будет достигнут, то рендер закончится. То есть, если картинка с вышеприведенными дефолтными настройками просчитается за 700 проходов (samples) и 10 минут (600 секунд) до 95%, то рендер остановится, несмотря на указанные максимумы в 5000 проходов/7200 секунд. Но если указать минимум проходов в 1000, то комп будет продолжать греть воздух рендерить до достижения этой цифры.
Отдельно про "настройку" Rendering Quality. Установка RQ в 4 например, увеличит время достижения 95% раза в четыре, картинка при этом может ничем не отличаться на глаз от "стандартной 95%" (то самое вычисление Пи, "область 95%" просто уезжает подальше от запятой, поближе к бесконечности, бесконечность же можно бесконечно вычислять). Повышение RQ до 2-4 может потребоваться на очень детальной картинке, когда тени выглядят зернистыми. Но тут есть простой прием: задать двойное разрешение рендера, а затем уменьшить полученную картинку в любом 2Д-редакторе до нужного размера. Зернистость и другие мелкие "непросчеты" могут пропасть при неизбежном сглаживании, а время рендера при этом увеличивается незначительно.
3. Вкладка Optimization
Здесь игрался с одной настройкой (Instancing Optimization) у которой два значения (дефолтное Speed и добавочное Memory).
[Изображение: https://image.ibb.co/b6bZLa/01_2_rendersettings_opt_speed.png]
Для теста выставил ограничение в 100 проходов (макс.)
Первый прогон по Speed показал:
Total Rendering Time: 11 minutes 25.57 seconds
из которых ~155 секунд ушло на подготовку сцены и ~490 секунд на рендер
Второй прогон по Memory:
Total Rendering Time: 10 minutes 28.10 seconds
~70 секунд на подготовку, ~530 сек рендер. "Ага!!! Вонаношто!" - сказал я, осёкся и ...
Третий прогон по Speed:
Total Rendering Time: 9 minutes 40.7 seconds
~70 секунд подготовка, ~490 секунд на рендер
Всё встало на свои места. Первый прогон закэшировал материалы для сцены и в последующие прогоны подготовка шла вдвое быстрее. Оптимизация по скорости действительно чуток скоростнее. Расход памяти при этом не мерял, но думаю если рендер валится на очень сложной сцене с ошибками, есть смысл попробовать сделать оптимизацию по памяти.
На этом пока всё. Модель при тестах