Какой программой распределить ядра, если рендерить одну, а работать одновременно над другой сценой?

Автор
Сообщение
PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
Комп у меня не один, рендерю backburber, но чтобы и основной не простаивал, то сервер запускаю и на нем. Естественно, на нем же и работаю, и несмотря на обилие ядер, все равно сильно тупит и зависает (7820х, Max2018, VRay, Win10). Я уже устал вручную отключать пару ядер из того активного процесса, который только начинает рендериться. Когда-то читал про process lasso, но что-то не пошло у меня. Как-то бы так динамично распределить ресурсы, чтобы основному окну, с той сценой, что я работаю активно, доставался повышенный приоритет, и я не замечал фонового рендера?
staskenig
Возраст:
Пол: М
На сайте c: 09.07.2007
Сообщения: 276
Откуда: Калининград
Цитата PaulFX:
Комп у меня не один, рендерю backburber, но чтобы и основной не простаивал, то сервер запускаю и на нем. Естественно, на нем же и работаю, и несмотря на обилие ядер, все равно сильно тупит и зависает (7820х, Max2018, VRay, Win10). Я уже устал вручную отключать пару ядер из того активного процесса, который только начинает рендериться. Когда-то читал про process lasso, но что-то не пошло у меня. Как-то бы так динамично распределить ресурсы, чтобы основному окну, с той сценой, что я работаю активно, доставался повышенный приоритет, и я не замечал фонового рендера?

Ставьте галочку low thread priority.

PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
staskenig,   я  забыл написать) Это само собой ставлю.
Predator84
Возраст: 35
Пол: М
На сайте c: 20.04.2010
Сообщения: 835
Откуда: UA
Цитата PaulFX:
с той сценой, что я работаю активно, доставался повышенный приоритет, и я не замечал фонового рендера?

а если в диспетчере задать приоритет выше среднего для макса в котором работать?

zifir
Возраст: 34
Пол: М
На сайте c: 22.09.2006
Сообщения: 159
Откуда: Киев
диспетчер задач - подробности - ПКМ на 3dsmax.exe - задать сходство - отключайте от процесса сколько хотите ядер
PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
Predator84, zifir, этим я и занимаюсь постоянно, так в вопросе и написал, что устал постоянно руками отключать ядра, думал есть средство автоматизированное.
sten
Возраст: 38
Пол: М
На сайте c: 20.09.2006
Сообщения: 4295
Откуда: Kiev

PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
sten мой специфический воркфлоу на VRay
xpp_nd_ruphus
Возраст: 33
Пол: М
На сайте c: 31.03.2011
Сообщения: 5630
Откуда: МСК
нужно поднимать виртуальные машины, одна под рендер другая под моделинг и тогда будет нормальное разделение ядер, но метод геморный
3drj
Возраст: 35
Пол: М
На сайте c: 11.10.2007
Сообщения: 392
Откуда: Страна огней
CTRL+ALT+DEL, ПКМ на 3dmax , задать соответствие. обычно я у рендерной сцены отключаю 2 потока, и мне этого хватает чтоб во втором максе моделить - и не ищите себе сложных путей.
Yehat
Возраст: 37
Пол: М
На сайте c: 14.06.2012
Сообщения: 7835
Откуда: Москва
EARLDK:
Флуд.
Действует до:
04.09.2019 00:00:00

Не надо распределять ядра, это неэффективно. Меняйте приоритет. Ставьте в диспетчере задач самый низкий для фонового процесса.

Можно сделать скрипт, который бы сам ставил низкий приоритет любому запускаемому максу. А потом руками себе поднять приоритет в том максе, где надо работать параллельно.

https://www.dropbox.com/s/zigewg4at1a84om/low.ms?dl=0 

Положите его в Scripts\StartUp

xpp_nd_ruphus
Возраст: 33
Пол: М
На сайте c: 31.03.2011
Сообщения: 5630
Откуда: МСК

3drj в случае с виреем бесполезно отключать ядра начиная с 3.3, поскольку на каждом этапе рендера, вирей сбрасывает распределение и задействует заново все доступные системе ядра

ПС если ядер слишком дофига, то винда просто не даст задать максу соответствие, вылетит ошибка доступа

ksonto
Возраст:
Пол: М
На сайте c: 27.03.2015
Сообщения: 160
Откуда: Вологда

при этом соответствие у всех ядер стоит )

PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
Yehat , Супер! Спасибо! Кажется, это то, что я и искал) smiley-clapping.gif Работаю, и вроде бы не замечаю теперь фоновый рендер, и руками не повышал приоритет текущей задаче. Потестирую еще, и если нужно будет не только понизить приоритет задачам из очереди, а ещё и повысить приоритет для сцены, с которой работаю, то теоретически можно тем же скриптом добавить другую строчку, убрав из нее обращение isnetserver.
Yehat
Возраст: 37
Пол: М
На сайте c: 14.06.2012
Сообщения: 7835
Откуда: Москва
EARLDK:
Флуд.
Действует до:
04.09.2019 00:00:00
Для текущей лучше руками повышать, иначе при полной загрузке каждому максу достанется только половина мощности и оба будут подтупливать. Не знаю, получится ли через скрипт, он же для каждого макса полностью будет исполняться.
PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
Yehat , Немного потестил на этом скрипте, при рендере с низким приоритетом, система иногда подтупливает, например файрфокс, на ютубе нажимал паузу секунд 10, все играл и играл клип. Да и сам второй макс тоже не всегда гладко работает. Но вот сейчас сделал и скриптом автоматическое повышение приоритета, все очень просто, в этом скрипте в первой строчке поставить hight вместо low, а вторую строчку оставить, как есть. То есть получится смысл такой: по умолчанию всем высокий приоритет, но если это задача от рендер сервера, то ей низкий. Теперь буду юзать пока в этой связке, еще попытаюсь приспособить для себя это дело: http://www.scriptspot.com/3ds-max/scripts/affinity-priority-switch  Здесь, кроме приоритета, еще и ядро отключать можно. Правда работает наоборот, отключает ядро у текущей сцены. Однако, в коде можно поменять снова low на high и получим ту самую кнопку высокого приоритета на панели инструментов.
-NiK-
Возраст: 34
Пол: М
На сайте c: 31.03.2008
Сообщения: 254
Откуда: Москва
Цитата PaulFX:
попытаюсь приспособить для себя это дело...affinity-priority-switch

Если будут вопросы, пишите. Эт моё старьё

morro
Возраст:
Пол: М
На сайте c: 28.02.2007
Сообщения: 189
Откуда:
Цитата -NiK-:
Цитата PaulFX:
попытаюсь приспособить для себя это дело...affinity-priority-switch

Если будут вопросы, пишите. Эт моё старьё

на самом деле не помешал бы ) 

3drj
Возраст: 35
Пол: М
На сайте c: 11.10.2007
Сообщения: 392
Откуда: Страна огней
Цитата xpp_nd_ruphus:

3drj в случае с виреем бесполезно отключать ядра начиная с 3.3, поскольку на каждом этапе рендера, вирей сбрасывает распределение и задействует заново все доступные системе ядра

ПС если ядер слишком дофига, то винда просто не даст задать максу соответствие, вылетит ошибка доступа

я сижу пока на 3,2 наверно далее это не срабатывает, странно

PaulFX
Возраст: 41
Пол: М
На сайте c: 10.04.2009
Сообщения: 30
Откуда: Севастополь
Цитата -NiK-:

Если будут вопросы, пишите. Эт моё старьё

-NiK- ,спасибо, интересный скрипт! Я думаю, что полезным был бы еще скрипт такой же, но только чтобы кнопка отключала ядро и ставила низкий приоритет не этой сцене, а сцене, которая в фоне рендерится бэкбурнером. Видимо через if isnetserver() это можно реализовать. Во время работы низкие приоритеты по прежнему продолжают съедать все ресурсы, и принудительно отобрать часть ядер у фоновой задачи кажется единственно верным. Я вручную уже несколько месяцев вообще 4 галочки снимаю, с двух ядер физических и двух логических, чтобы можно было комфортно продолжать работать на "двухъядерном" компе во время рендера.

А вот со своим high приоритетом я не сдружился, вешается намертво всё, и мышка в том числе.

Читают эту тему: