Как в VRay ограничить количество используемых ядер процессора

Работая в "интерактивном" (iterative) режиме, на движке VRay Next GPU, столкнулся с тем, что некоторые функции не поддерживаются или работают немного по-другому. Поэтому решил, пока отказаться от него и вернуться к CPU движку, но возникла проблема производительности.

VRay использует все ядра процессора из-за чего 3Ds Max начинает притормаживать, и работать становиться не комфортно. Полез искать как исправить…

На русском языке нашёл только то, что можно уменьшить приоритет в диспетчере задач, что я и так знал и это всё равно не тот случай, VRay это
внутренний процесс в максе и в диспетчере его нет!

Help VRay'я, по поиску “CPU Core” выдал результат на переменную: VRAY_NUM_THREADS. Потом еще полазил по англоязычным форумам и в результате нашёл два решения:

1. “Глобальный”

Заходим в Environmental Variables (переменные среды). Самый быстрый путь попасть туда, это воспользоваться поиском windows и начать набирать Environmental Variables...

Search.jpg

И для своего пользователя добавляем новую переменную (1), указываем имя переменной: «VRAY_NUM_THREADS» (2) и сколько потоков выделить для Vray (3), жмём OK, перезагружаем 3Ds Max.

EnvVar.jpg

(у меня процессор intel i5, 4 ядра / 4 потока, так что оставил одно ядро свободным, значение 0 – разрешит использовать все потоки).


Это решение хорошо тем, что оно повлияет на VRay глобально, т.е. всегда и везде VRay не сможет использовать больше потоков чем указано, причём не только в максе, но и в Maya. Но что бы это отменить или изменить, вам придется снова идти в Environmental Variables и перезагружать макс.


2. “Временный”

В 3Ds Max, работая в своей сцене, запускаем MAXscript Listener (клавиша F11), вводим команду: «renderers.current.system_numThreads=N», где N нужное количество потоков, значение 0 – обнулит и позволит использовать все потоки, нажимаем Enter.
MAXscript.jpg

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


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

Успехов!

694 0 850 4
9
2020-05-25
Добрый день! Спасибо за идеи. Наша студия пользуется Process Lasso Pro. Любое количество ядер на лету для любых программ. Да, решение платное, но гибкое. Единственный недостаток - производит ограничение по ядрам для всех однотипных приложений..То есть не для отдельного сеанса выбранной программы, а для всех 3ds max например. Но это решает проблемы залипания интерфейса.
2020-05-25
а это?
2020-05-25
А этот способ чем не подходит?
https://yadi.sk/i/vhJBMADfv1wTGQ

Просто убираем галочки, и отключаем необходимое количество потоков. Обычно убираю 2 (максимум 4) из 16ти и сразу становится нормально паралельно работать.


Упс... Понял, вы немного про другое.
2020-05-25
Михаил, это для олдов 😎 вечная классика.
2020-05-25
У меня этот способ почему-то теперь не работает, хотя раньше работал. Через некоторое время все ядра оказываются задействованы.
2020-05-25
дааа, иначе Фотошоп скажет "ну и визуализируй дельше, без меня!"
2020-05-25
WAX companyДобрый день! Спасибо за идеи. Наша студия пользуется Process Lasso Pro. Любое количество ядер на лету для любых программ. Да, решение платное, но гибкое. Единственный недостаток - производит ограничение по ядрам для всех однотипных приложений..То есть не для отдельного сеанса выбранной программы, а для всех 3ds max например. Но это решает проблемы залипания интерфейса.

Это не совсем то о чём я писал, но программа интересная, для конвейера с большим количеством софта, может быть полезна.
2020-05-25
GeorgemanА этот способ чем не подходит?
https://yadi.sk/i/vhJBMADfv1wTGQ

Просто убираем галочки, и отключаем необходимое количество потоков. Обычно убираю 2 (максимум 4) из 16ти и сразу становится нормально паралельно работать.


Упс... Понял, вы немного про другое.

Да, про другое, но после вашего сообщения еще раз посмотрел и потестировал VRay, и столкнулся с интересной особенностью: Оказывается IPR режим (на CPU) сам, по умолчанию, ограничивает потоки, в моем случае на один поток из 4-х. И еще при одинаковых настройках рендера производственный режим выдаёт менее шумную картинку чем итеративный, но тратит чуть больше времени, хотя повторюсь, настройки одинаковые! В документации каких либо пояснений на эту тему не нашёл.
2022-10-28
Алексей, благодарю за статью. Рендерю секвенцию и решил запарковать пару ядер, что бы продолжать работать и .... оказалось что в вирее нет такой опции.
RENDER.RU