Комп у меня не один, рендерю backburber, но чтобы и основной не простаивал, то сервер запускаю и на нем. Естественно, на нем же и работаю, и несмотря на обилие ядер, все равно сильно тупит и зависает (7820х, Max2018, VRay, Win10). Я уже устал вручную отключать пару ядер из того активного процесса, который только начинает рендериться. Когда-то читал про process lasso, но что-то не пошло у меня. Как-то бы так динамично распределить ресурсы, чтобы основному окну, с той сценой, что я работаю активно, доставался повышенный приоритет, и я не замечал фонового рендера?
Комп у меня не один, рендерю backburber, но чтобы и основной не простаивал, то сервер запускаю и на нем. Естественно, на нем же и работаю, и несмотря на обилие ядер, все равно сильно тупит и зависает (7820х, Max2018, VRay, Win10). Я уже устал вручную отключать пару ядер из того активного процесса, который только начинает рендериться. Когда-то читал про process lasso, но что-то не пошло у меня. Как-то бы так динамично распределить ресурсы, чтобы основному окну, с той сценой, что я работаю активно, доставался повышенный приоритет, и я не замечал фонового рендера?
Predator84, zifir, этим я и занимаюсь постоянно, так в вопросе и написал, что устал постоянно руками отключать ядра, думал есть средство автоматизированное.
CTRL+ALT+DEL, ПКМ на 3dmax , задать соответствие. обычно я у рендерной сцены отключаю 2 потока, и мне этого хватает чтоб во втором максе моделить - и не ищите себе сложных путей.
Не надо распределять ядра, это неэффективно. Меняйте приоритет. Ставьте в диспетчере задач самый низкий для фонового процесса.
Можно сделать скрипт, который бы сам ставил низкий приоритет любому запускаемому максу. А потом руками себе поднять приоритет в том максе, где надо работать параллельно.
3drj в случае с виреем бесполезно отключать ядра начиная с 3.3, поскольку на каждом этапе рендера, вирей сбрасывает распределение и задействует заново все доступные системе ядра
ПС если ядер слишком дофига, то винда просто не даст задать максу соответствие, вылетит ошибка доступа
Yehat , Супер! Спасибо! Кажется, это то, что я и искал) Работаю, и вроде бы не замечаю теперь фоновый рендер, и руками не повышал приоритет текущей задаче. Потестирую еще, и если нужно будет не только понизить приоритет задачам из очереди, а ещё и повысить приоритет для сцены, с которой работаю, то теоретически можно тем же скриптом добавить другую строчку, убрав из нее обращение isnetserver.
Для текущей лучше руками повышать, иначе при полной загрузке каждому максу достанется только половина мощности и оба будут подтупливать. Не знаю, получится ли через скрипт, он же для каждого макса полностью будет исполняться.
Yehat , Немного потестил на этом скрипте, при рендере с низким приоритетом, система иногда подтупливает, например файрфокс, на ютубе нажимал паузу секунд 10, все играл и играл клип. Да и сам второй макс тоже не всегда гладко работает. Но вот сейчас сделал и скриптом автоматическое повышение приоритета, все очень просто, в этом скрипте в первой строчке поставить hight вместо low, а вторую строчку оставить, как есть. То есть получится смысл такой: по умолчанию всем высокий приоритет, но если это задача от рендер сервера, то ей низкий. Теперь буду юзать пока в этой связке, еще попытаюсь приспособить для себя это дело: http://www.scriptspot.com/3ds-max/scripts/affinity-priority-switch Здесь, кроме приоритета, еще и ядро отключать можно. Правда работает наоборот, отключает ядро у текущей сцены. Однако, в коде можно поменять снова low на high и получим ту самую кнопку высокого приоритета на панели инструментов.
3drj в случае с виреем бесполезно отключать ядра начиная с 3.3, поскольку на каждом этапе рендера, вирей сбрасывает распределение и задействует заново все доступные системе ядра
ПС если ядер слишком дофига, то винда просто не даст задать максу соответствие, вылетит ошибка доступа
я сижу пока на 3,2 наверно далее это не срабатывает, странно
-NiK- ,спасибо, интересный скрипт! Я думаю, что полезным был бы еще скрипт такой же, но только чтобы кнопка отключала ядро и ставила низкий приоритет не этой сцене, а сцене, которая в фоне рендерится бэкбурнером. Видимо через if isnetserver() это можно реализовать. Во время работы низкие приоритеты по прежнему продолжают съедать все ресурсы, и принудительно отобрать часть ядер у фоновой задачи кажется единственно верным. Я вручную уже несколько месяцев вообще 4 галочки снимаю, с двух ядер физических и двух логических, чтобы можно было комфортно продолжать работать на "двухъядерном" компе во время рендера.
А вот со своим high приоритетом я не сдружился, вешается намертво всё, и мышка в том числе.