Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels

Доброго всем дня.

Данный пост нужен больше для владельцев видеокарт от Intel серии ARC (чтобы он гуглися при запросах), т.к. решает довольно неудобную проблему.

При работе в блендере и рендеринге на Cycles периодически можно столкнуться с проблемой, когда при рендеринге каждого кадра на GPU мы будем 15-30 секунд считать kernels-ы - (Loading render kernels (may take a few minutes the first time)

Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels Blender, Cycles, Airbus a380, 3D моделирование, Длиннопост

По идеи мы должны увидеть это 1 раз, после чего оно должно сохраниться где-то в кеше и никогда больше не запускаться (пока не обновятся драйвера видеокарты или сам блендер), однако на ARC видеокартах это может срабатывать при каждой попытке рендеринга, даже если мы рендерим анимацию - каждый последующий кадр будет считать Kernels-ы затрачивая лишние 15-30 секунд на каждый кадр. (оговорюсь что исключительно на Cycles рендере при рендеринге на GPU)

На версии блендера 3.6.5 это решилось само собой и хоть вначале были проблемы, потом всё стало работать как должно и больше никогда это не считалось, но на новой 4.0.1 пока эта проблема не пропала сама по крайней мере у меня (использую блендер со Steam-а, который самообновляется постоянно).

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

  1. В настройках (Edit -> Preferences -> System) увеличиваем Memory Cache limit на х2-х4 от того что стоит у вас (я установил на 16384) - на иностранных форумах некоторым помогало (но мне не помогло).

  2. Я так же включил кэширование на диск, но не думаю что от этого есть какой-то серьёзный эффект. Имейте ввиду Cache Limit указан в Гб, поэтому установите подходящее для вас значение. Мне вполне не жалко 100 Гб, т.к. места вагон.

Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels Blender, Cycles, Airbus a380, 3D моделирование, Длиннопост

3. На нашей сцене, в разделе Render -> Perfomance -> Final Render выставляем галочку на Persistent Data (по умолчанию отключена)

Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels Blender, Cycles, Airbus a380, 3D моделирование, Длиннопост

После этого при рендеринге у нас один раз произойдет расчет Kernels-ов, как только мы запустим рендер, далее внутри этой сцены всё будет хорошо и мы не будем тратить лишнее время на подсчёты. Не важно как мы будем запускать рендер и какие настройки менять, после этого всё работает как должно и рендерится сразу, но при открытии другого файла, всё будет аналогично как и раньше.

Поэтому рекомендую сразу включить эту галочку в пустой сцене и сохранить изначальный файл.

Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels Blender, Cycles, Airbus a380, 3D моделирование, Длиннопост

Не сомневаюсь, что так же это поможет и владельцам карт Intel Arc A380 / A580 и A750 (A750 вообще на том же чипе) если такое на них встретится.

Спасибо за внимание. Надеюсь кому-то помог.

Сразу хотел добавить, что несмотря на то, что в OpenData очки у Intel Arc A770 в рендеринге не такие уж высокие (по очкам имеет отставание от 3060 на 15%), на реальных тестах (вроде рендеринга ClassRoom на Cycles) я получил что Arc A770 по скорости рендеринга на 3% быстрее 3070 (что в целом означает что при разных сценах они будут +- равны). В разрешение FullHD лидерство синей видеокарты может доходить до 17% в зависимости от сцены.

Разрешение 2560х1440 - 300 сэмплов.

A770 16-Gb reference ed. на oneAPI (с вкл. трассировкой лучей) -> 62.6 с.

Nvidia GeForce RTX 3070 на Optix -> 64.4 с.

Рендеринг на Blender Cycles на видеокартах Intel Arc (A770 16 Gb) и проблема Loading render Kernels Blender, Cycles, Airbus a380, 3D моделирование, Длиннопост

Как-то так.

Blender RU

1.1K постов3.6K подписчика