Render.ru
Поддержать
Алекс К (Alex)
ПОДПИСАТЬСЯ
  • ПРЕДЛОЖИТЬ ПРОЕКТ
  • ДОБАВИТЬ В КОНТАКТЫ
1Записей
1Следят
0Читает
9357Заходов
Алекс К (Alex)

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

Урок V-Ray V-RayRT

Работая в "интерактивном" (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
Комментарии:8
по поступлению
5
1
Добрый день! Спасибо за идеи. Наша студия пользуется Process Lasso Pro. Любое количество ядер на лету для любых программ. Да, решение платное, но гибкое. Единственный недостаток - производит ограничение по ядрам для всех однотипных приложений..То есть не для отдельного сеанса выбранной программы, а для всех 3ds max например. Но это решает проблемы залипания интерфейса.
0
Михаил Ваулин
25.05.2020 10:50
а это?
347
1
Georgeman
25.05.2020 11:08
Серебряный спонсор
А этот способ чем не подходит?
https://yadi.sk/i/vhJBMADfv1wTGQ

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


Упс... Понял, вы немного про другое.
0
Михаил, это для олдов 😎 вечная классика.
0
У меня этот способ почему-то теперь не работает, хотя раньше работал. Через некоторое время все ядра оказываются задействованы.
0
Крылов Павел
25.05.2020 12:08
дааа, иначе Фотошоп скажет "ну и визуализируй дельше, без меня!"
7
0
Алекс К (Alex)
25.05.2020 14:37
WAX companyДобрый день! Спасибо за идеи. Наша студия пользуется Process Lasso Pro. Любое количество ядер на лету для любых программ. Да, решение платное, но гибкое. Единственный недостаток - производит ограничение по ядрам для всех однотипных приложений..То есть не для отдельного сеанса выбранной программы, а для всех 3ds max например. Но это решает проблемы залипания интерфейса.

Это не совсем то о чём я писал, но программа интересная, для конвейера с большим количеством софта, может быть полезна.
7
0
Алекс К (Alex)
25.05.2020 14:46
GeorgemanА этот способ чем не подходит?
https://yadi.sk/i/vhJBMADfv1wTGQ

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


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

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