Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0. Если голосов меньше 5 оценка не показывается.
  • 1
  • 2
  • 3
  • 4
  • 5
Iray в DS
#1
Information 
Предисловие.
В 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 секунд на рендер
Всё встало на свои места. Первый прогон закэшировал материалы для сцены и в последующие прогоны подготовка шла вдвое быстрее. Оптимизация по скорости действительно чуток скоростнее. Расход памяти при этом не мерял, но думаю если рендер валится на очень сложной сцене с ошибками, есть смысл попробовать сделать оптимизацию по памяти.
На этом пока всё. Модель при тестах

 
#2
Рекомендации по железу для DS от DAZ3D
(взято и переведено из Daz 3D Help Center)

CPU (центральный процессор):
При загрузке сцены изрядное количество расчетов производится CPU для применения морфов, подгонки одежды, сглаживания и деформаций. Это один из факторов влияющих на время загрузки (наряду со скоростью диска). Процессор также выполняет 100% рендера при использовании не GPU движка (например, 3Delight). Если у вас DAZ Studio 4.7 и ниже, или вы используете 3Delight, то ваш процессор полностью определяет, насколько быстро делаются ваши рендеры, а также оказывает влияние в DS 4.8+ на то, как быстро контент загружается и подготавливается к работе.

Storage (диски):
Влияет только на скорость загрузки сцены, на время визуализации не влияет или влияет незначительно. SSD тем не менее предпочтительнее HDD или RAID HDD из-за меньшего времени доступа к файлам.

GPU (графический процессор, видеокарта):
С выходом DS 4.8, GPU играет ОГРОМНУЮ роль во времени рендеринга при использовании Iray (рендер по умолчанию в DS 4.8+). GPU играет две роли. Во-первых, определяет как быстро вы можете работать в интерфейсе программы. Во-вторых, добавляет вычислительной мощности движку рендеринга (сокращает время рендера) при использовании Iray. Здесь можно выделить несколько факторов:
  • Память GPU
    Не оказывает прямого влияния на время визуализации, но определяет с насколько большим файлом вы можете работать (прим. @6762795e - насколько понимаю, вся граф.информация сцены (геометрия, шейдеры, освещение и т.д.) собирается в один файл и отдается GPU и/или CPU в обработку). Мы обнаружили, что в 2ГБ видеопамяти может обрабатываться один персонаж и среднего размера сцена, в 4ГБ может обрабатываться около 4 персонажей + сцена. Поэтому мы рекомендуем использовать видеокарты с 4ГБ и выше. Если у вас есть два GPU, и каждый имеет 2 ГБ памяти, то общая память при этом не расширяется до 4 ГБ, потому что каждая карта должна содержать у себя в памяти всю сцену. При попытке отображения файла, который слишком велик, чтобы поместиться в память GPU, Iray будет использовать центральный процессор для визуализации (рендер при этом будет гораздо медленнее, чем при использовании GPU или связки GPU и CPU). Таким образом память GPU является определяющим фактором, может GPU использоваться при рендере или нет. Если размер файла соответствует размеру видеопамяти, то Iray в GPU будет использоваться, если файл не влезает, то не будет.
    (примечание от @6762795e, вот это новость... cray При нехватке видеопамяти в логе будут появляться сообщения типа таких:
    Код:
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER):   1.3   IRAY   rend error: Unable to allocate 134217728 bytes from 20516864 bytes of available device memory (не могу разместить столько-то байт в стольких-то свободных байтах памяти устройства)
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER):   1.2   IRAY   rend error: CUDA device 0 (GeForce GT 540M): Scene setup failed
    WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER):   1.2   IRAY   rend error: CUDA device 0 (GeForce GT 540M): Device failed while rendering)
    и затем переход на CPU рендер, из-за чего я и полез снова ковыряться в потрошках Студии. Напоминаю, что лог доступен из меню Help - Troubleshooting)


  • Количество CUDA-cores.
    Тут все просто, время рендеринга прямо пропорционально тому, сколько ядер CUDA будет задействовано. Iray - технология NVIDIA и использует CUDA, которая встречается только в графических процессорах NVIDIA. Это означает что видеокарты AMD или Intel НЕ БУДУТ использоваться для Iray, однако они влияют на производительность в OpenGL, когда вы работаете с вашей сценой в любом из drawstyles, за исключением Iray. Для Iray-рендера можно использовать одну или несколько Geforce, Quadro и Tesla карт (или смесь Quadro и Tesla), чтобы уменьшить время рендеринга. Современные карты NVIDIA содержат от 250 до 3000 ядер CUDA, при этом давая на выбор огромный диапазон производительности (и цен). При этом даже карты с 300 или 400 ядрами CUDA рендерят быстрее, чем самые топовые CPU.
    Нет никаких ощутимых различий во времени рендеринга между картами Quadro, Tesla и Geforce. Вопрос только в том, сколько CUDA ядер на борту видеокарты и насколько они быстрые по частоте (CUDA-cores на Geforce, как правило, немного быстрее)
Общие рекомендации к выбору железа:
  • Материнская плата с последним чипсетом от Intel. Убедитесь, что будет поддерживаться как минимум 8х (лучше 16х) режим PCI-E для каждого установленного GPU. Режим 8x позволяет достичь только ~80% от производительности 16x.
  • Для графических приложений 32 ГБ ОЗУ является хорошим минимумом, топовые системы имеют 64 ГБ. Большее увеличение памяти уже мало влияет на время визуализации.
  • 6 ядерный CPU, так как при рендере Iray зависимость от CPU снижена
  • Столько видеокарт, сколько сможете себе позволить (чем больше CUDA-cores, тем лучше). Минимальный объем памяти на каждой видеокарте 4GB, более 8GB в большинстве случаев не понадобится.

 
#3
Вчера внезапно узнал, что iray не unbiased по умолчанию, а всего лишь physicaly based. Unbiased он становится только при включении фичи Spectral Rendering.
[Изображение: https://s30.postimg.cc/cq1726mu9/spectralrend.png]
Подробности в теме what is spectral rendering exactly?.
Для тех у кого нема дазовского аккаунта:
Свёрнутый текст:
Цитата:The conversion of RGB colour values to spectral values, but this is not an unambiguous process. The Natural and Faithful conversion intents are two different ways of going from colour value to spectral value - the former is smoother, but can produce quirks such as over dark reflections of saturated colours. Faithful is less smooth but avoids those artefacts.

The observers do the opposite -they convert from spectral values back to colours for output. They use two different models to do that job:
cie1931 = uses the CIE 1931 2 degree standard observer as color matching functions (https://en.wikipedia.org/wiki/CIE_1931_color_space)
cie1964 = uses the CIE 1964 10 degree standard observer as color matching functions (https://en.wikipedia.org/wiki/CIE_1964_color_space)
и
Цитата:Iray is physically based, but that is not the same as unbiased. Unbiased engines are always in Spectral mode, such as Octane. Iray isn't in Spectral mode by default. In most cases images from Iray usung only RGB will be visually similar enough to unbiased rendering that it will be acceptable. But this spectral lighitng is just one of the subtle differences between truly unbiased and merely physically based rendering. So what I am saying is that enabling Spectral Rendering is actually removing bias, increasing accuracy, and often taking longer to complete the render. It would also mean more noise, because there is less cheating involved with the light calculations. Overall, the new lighting is a good thing. Getting Iray speed at full Spectral to compete with Octane speed at PT or PMC is a fair test comparison as the quality of the renders is now going to be much more closely matched.
Если коротко и с практической точки зрения, то Spectral Rendering выдает более точные значения освещенности, чем "классический" рендеринг. Но не обязательно "более реалистичные". И чаще всего - более медленно, хотя
бывает по всякому
Цитата:The original image is 2560x1440, so I set the render size to 1280 by 720 to test the Spectral Rendering settings. Other settings I used include Max Samples to 5000, Quality "off", and Max Time "0". I then rendered the image 6 7 times, with the following settings:

Architectural Sampling Off, Spectral Rendering Off: 1449.353s (24 minutes 9.35 seconds)
Architectural Sampling On: 3414.986s (56 minutes 54.99 seconds)
Spectral Rendering On, Faithful, cie1931: 1313.596s (21 minutes 53.60 seconds)
Spectral Rendering On, Natural, cie1931: 1392.673s (23 minutes 12.67 seconds)
Spectral Rendering On, Faithful, cie1964: 1315.761s (21 minutes 55.76 seconds)
Spectral Rendering On, Natural, cie1964: 1319.192s (21 minutes 59.19 seconds)
Architectural Sampling On, Spectral Rendering On, Natural, cie1931: 3518.754s (58 minutes 38.75 seconds)

I didn't bother trying all the Spectral Rendering settings with Architectural Sampling On as the Spectral Rendering alone took little more than 1/3 the time to render. At only 5000 samples, all images had some grain in the dark areas—probably only noticable at high magnification—but the Spectral Rendering images were less grainy. The cie1931 setting, whether Faithful or Natural, left the corridor behind the open door and acolyte, (upper left,) completely black. After I determined Spectral Rendering On, Faithful, cie1964 was the optimal setting for this image, for both speed and final appearance, I set the size back to 2560 by 1440 and rendered to 15K samples. I don't have the exact time for the original, but the Spectral Rendering at that size took about half the time. I do not, as yet, have a render without either Architectural Sampling or Spectral Rendering.
@9bc196ae, ты упоминал что айрей с тенями фигово пашет, надо тебе пробовать. У меня со спектралом (дефолтные настройки качества) грануляция теней уже на 15% почти незаметна становилась на тесте (аватарная картинка в цвете, без постеризации, 1200х1200). Но правда эти 15% считались 48 минут.
Свёрнутый текст:
[Изображение: https://image.ibb.co/kGrPrF/spectraltest.png]
Наверное смажется при постинге, но для примера, самое проблемное место выглядело так. В целом картинка выглядит глаже чем на обычных настройках.

 
#4
[Изображение: https://s10.postimg.cc/uj80zlpwp/avianna.png]
@6762795e, Не замечаю особой разницы. Специально не обрабатывал и выкрутил свет по максимуму. Шумит один хрен.

 
1
#5
(03.03.2017, 20:52)c32bbfe5 писал(а): Шумит один хрен.
Честно, не вижу особого шума ) Не, ну так - чего-то этакое вроде бы цепляет глаз, но уверенности нет.

Дефолтные настройки качества? Если да, то похоже это нормально для них (посмотрел свои обычные рендеры с дефолтами - там хуже), в студийных пресетах еще Quality выкручивают на 2-4+ и Converged Ratio до 98% для уберкартинок.

 
#6
(03.03.2017, 21:31)f7423559 писал(а):
(03.03.2017, 20:52)c32bbfe5 писал(а): Шумит один хрен.
Честно, не вижу особого шума ) Не, ну так - чего-то этакое вроде бы цепляет глаз, но уверенности нет.

Дефолтные настройки качества? Если да, то похоже это нормально для них (посмотрел свои обычные рендеры с дефолтами - там хуже), в студийных пресетах еще Quality выкручивают на 2-4+ и Converged Ratio до 98% для уберкартинок.
Это потому что я свои любимые фильтрики не использовал, которые тени вытягивают. biggrin
Еще этот "спектр" делает что-то страшное с цветами. Добавляет хроматические абберации и выкручивает красный канал в задницу. В итоге, картинка зеленит.
Еще покопаюсь, может под него какие-то особые настройки нужны. Пока что - непонятная фигулина.

 
#7
(03.03.2017, 21:42)c32bbfe5 писал(а): Еще этот "спектр" делает что-то страшное с цветами.
Он значения видимого спектра считает напрямую, а не приблизительные значения цвета по отдельным каналам RGB. Но потом в RGB все равно выкидывает посчитанное одним из двух способов: cie1931 или 1964 (так как все визуальная электроника на rgb завязана). В той теме где инфу взял, тоже про смещение цветов упоминали и кто-то "пошутил", что похоже уже пора делать лайтпресеты для нормального спектра.


(03.03.2017, 21:42)c32bbfe5 писал(а): Это потому что я свои любимые фильтрики не использовал, которые тени вытягивают.
А не могут эти фильтрики тебе так гадить, даже отключенные? Мне помнится, после удаления октановского рендер-плагина пришлось даз переустанавливать начисто со сносом всех настроек в реестре и профиле, шли какие-то артефакты (детали уж не помню)

 
#8
(03.03.2017, 22:28)f7423559 писал(а):
(03.03.2017, 21:42)c32bbfe5 писал(а): Еще этот "спектр" делает что-то страшное с цветами.
Он значения видимого спектра считает напрямую, а не приблизительные значения цвета по отдельным каналам RGB. Но потом в RGB все равно выкидывает посчитанное одним из двух способов: cie1931 или 1964 (так как все визуальная электроника на rgb завязана). В той теме где инфу взял, тоже про смещение цветов упоминали и кто-то "пошутил", что похоже уже пора делать лайтпресеты для нормального спектра.


(03.03.2017, 21:42)c32bbfe5 писал(а): Это потому что я свои любимые фильтрики не использовал, которые тени вытягивают.
А не могут эти фильтрики тебе так гадить, даже отключенные? Мне помнится, после удаления октановского рендер-плагина пришлось даз переустанавливать начисто со сносом всех настроек в реестре и профиле, шли какие-то артефакты (детали уж не помню)

Я про фильтры фотошопа. Они никак гадить не могут, так как накладываются уже на готовое изображение. Нет, тут Даз сам шумит как буйные соседи. Уже ИСО ставлю на 15 и выдержку на 25, все равно.
Мечтаю, чтобы поставили в сам даз движок новый, помимо ирэя или 3д лайта. А то все интернеты жгут стулья, мол айрей - самый тормознутый и не удобный из всех двиглов для рендеринга. В последнее время начинаю их понимать.

 
#9
(03.03.2017, 23:05)c32bbfe5 писал(а): А то все интернеты жгут стулья, мол айрей - самый тормознутый и не удобный из всех двиглов для рендеринга.
Поделись ссылкой, не встречал ничего подобного.

 
#10
Хм Добавляю персонажей всё норм, 1,2,3 Но как только начинаю добовлять причёски и шмот всё в слайд шоу идёт и подгонять позы становиться крайне проблемно... Я так понял проблема в ОЗУ? у меня 8г.
ПС по теме: Можно ли рендинг на отдельный предмет уменьшить? Стену или кровать к примеру.

 
#11
@b0ab971b, наверное пытаешься работать в режиме Iray во вьюпорте? Он не для работы. Ставь Texture Shaded или другие режимы. А вьюпортовский Iray-режим больше для предварительного просмотра освещения уже готовой сцены перед финальным рендером (посмотреть все ли так, не вылазят ли косяки)
[Изображение: https://image.ibb.co/bzq1ov/viewport.png]

 
#12
(04.03.2017, 06:40)f7423559 писал(а):
(03.03.2017, 23:05)c32bbfe5 писал(а): А то все интернеты жгут стулья, мол айрей - самый тормознутый и не удобный из всех двиглов для рендеринга.
Поделись ссылкой, не встречал ничего подобного.

Начал серфить и действительно не нашел ничего конкретного. Наверно в память врезались несколько негативных отзывов, которые как-то прочитал. Когнитивное искажение, херли biggrin

Цитата:Хм Добавляю персонажей всё норм, 1,2,3 Но как только начинаю добовлять причёски и шмот всё в слайд шоу идёт и подгонять позы становиться крайне проблемно... Я так понял проблема в ОЗУ? у меня 8г.
ПС по теме: Можно ли рендинг на отдельный предмет уменьшить? Стену или кровать к примеру.
Уменьши SubDV до нуля (находятся во вкладке Parameters --> General). На одного персонажа в среднем тратится 2 ГБ.
Edit > Preferences > Interface и там поиграйся с настройками.
У меня вот такие

[Изображение: https://s16.postimg.cc/vzawkmrpx/settings.jpg]

 
1


Переход:


Просматривают эту тему: 1 Гость(ей)