The Low Thread Priority checkbox has disappeared off the UI, so now, when I do renders, my computer freezes during ADV rendering and I’ve no way of choosing Low Thread Priority to overcome that ??
Am I missing something here ?
The Low Thread Priority checkbox has disappeared off the UI, so now, when I do renders, my computer freezes during ADV rendering and I’ve no way of choosing Low Thread Priority to overcome that ??
Am I missing something here ?
I thought Vray NEXT would have this sorted somehow, it was one of the main reasons we crossed to NEXT from 3.6 as my dual XEON alway became unusable during rendering and all the workarounds i tried that Vlado posted did not do the trick. Moreover, setting projects affinity to less cores got always reseted after a while…terrible.
I really hope to see some solution in this regard. Things got really fu**ed up after last years summer windows update. Before this never happened.
Well for me it seems to have gone backwards, with 3.6 I was using an i7 and Low Thread Priority meant I could continue using my machine during rendering.
I’ve now gone to i9 machines, and these feel wretched without Low Thread Priority…I think it’s what’s also causing my Chrome Remote Desktop to bomb out (quite simply, too much resource).
Yes, this needs to get sorted, PDQ.
weird stuff is the fact that if you take away few cores from the job in the affinity settings, youll be back to full core usage very soon for no reason…it just switches back.
seeting up the environment variable doesnt work for me also and neither does the other workaround thats flying here somewhere.
You shouldnt be feeling such hickups when using progressive. It only seems happen to buckets.
Hello,
The Low thread priority is now always ON for regular renders started from Max and OFF if you submit through Backburner and on render slaves.
We are setting the priority to the lowest value possible for Windows and can’t do much beyond that.
A possible workaround is to use lower number of threads - here are some ways to do it:
Best regards,
Yavor
I set DR to be on and now my main computer grinds along very slowly. I’m not sure I understand the logic and why this would be implemented as I now have a problem I didn’t have previously.
Thanks Martin, I can confirm that when using Progressive Rendering, Distributed, the lag is no longer there.
The low thread priority OFF applies only to the render slaves - your main machine is working with low thread priority ON.
Hi Yavor,
So is this a bug ? Since having LTP ON for Host (DR) and buckets still causes lag on the Host machine… will this be addressed in an update/fix ?
If I switch to Progressive rendering, DR on both machines, I suffer no lag.
When I render DR but don’t use the Host pc, I have no problems with lagging (of course…).
The link you gave earlier, regarding setting the number of threads, please can you explain better how / where to do this. The instructions Vlado gives are not clear for me where to find all of this (I’ve looked under Task Manager) - this is what he says;
“The correct way to do this is to set the priority of the 3ds Max process to “Below normal” (or lower if you wish). Changing the processor affinity has never been the proper solution. You can also set the VRAY_NUM_THREADS environment variable to set the number of threads for V-Ray to use, or alternatively, change the renderers.current.system_numThreads parameter from MaxScript.”
Many thanks.
So is this a bug ? Since having LTP ON for Host (DR) and buckets still causes lag on the Host machine… will this be addressed in an update/fix ?
As I said when we set LTP to ON - we set our threads to the lowest thread priority so we have not much else to do. Once we set the priority - it is the operating system that manages the threads and decides which to run.
To set the priority of the 3ds Max process from Task Manager:
With the environment variable you can specify the num threads for all Maxes and all scenes. The easiest way to do it is from the Start menu - start typing in the search “environment” and you should see “Edit environment variables for your account”. From the dialog you can add a variable to your user’s variables - with name VRAY_NUM_THREADS and value the number of threads you want (you could start with one less than the number of threads of your CPU). Keep in mind however that when setting/changing environment variables you need to restart 3ds Max.
The MAXScript option - renderers.current.system_numThreads is per scene and you can even change it before each render. To use it - once you open your scene open the MAXScript editor(F11) and type “renderers.current.system_numThreads=number_of_threads”. So if your CPU has 16 threads you could try with a line:
renderers.current.system_numThreads=15
Best regards,
Yavor
I was surprised to see that it didn’t just drop 2 threads like I expected with editing the affinity but instead it just takes overall total usage of the CPU to 95%. Im going to test with just dropping a single thread and see if that works.
-dave
Many thanks Yavor,
Your explanations were perfect and, like Dave, I too found that the Environment Variable setting (which I reduced by just one thread) was enough to make my main computer perfectly usable. I’ll keep an eye on it and will reduce the thread number again if I find it needs further adjustment.
Once again, thanks for your help.
Glad that helped ![]()
I was surprised to see that it didn’t just drop 2 threads like I expected with editing the affinity but instead it just takes overall total usage of the CPU to 95%.
That is why setting affinity is not a good solution. When rendering by default V-Ray will create a thread for each core, Max also has more than a few threads for the UI and other things. When you set affinity for the process Windows will run all those threads only on some of the cores and when they are many they will fight for the same cores and slow each other down.
On the other hand when you limit just the number of the rendering threads you leave free cores for other tasks like the Max UI and etc.
It’s good that limiting the threads helps your issues but they sound like there is indeed some kind of a problem with the system when under heavy load. Screen going black and Max viewports grey is an indication that the video driver or the video card itself had some issue. If different video card drivers don’t help - there even could be some hardware issue.
Thanks Yavor, this seemed to fix my issue as well.
Whats the correct environment variable string then please? Somehow it dod not work for me thw last time i set it up. Thanks!
oh and does this apply to situatuon when spawner is ran on my machine for dr session?
VRAY_NUM_THREADS
I set mine to just one thread less than my total and am very happy with that (and that’s all I did, I didn’t touch Affinity etc).
oh and does this apply to situatuon when spawner is ran on my machine for dr session?
It depends on how you are starting your VRaySpawner and where you’ve set the environment variable. If you run VRaySpawner manually the environment variable will always apply. If you run VRaySpawner as a service - you must set the environment variable for the user that starts the service or set it as a System variable (that way it will affect all users).
Also VRaySpawner has a command line option “numthreads” (f.e -numthreads=31) that can be used to set the number of threads only for the spawner.
thanks Yavor, will give it a try!
It would be handy to have a “reserve threads” option where you could enter how many to ignore and it would be relative to the current users thread count plus it would be ignored, or have an option, to ignore this option on a slave since its already lowered priority on the slave
Used to use this alot years ago, if I recall it was sticky to the file or the machine?
This works perfect. I set num to 63 instead of 64 and there´s no lag at all
I I could not reach the variables through the startmenu / search. I rightklick on " this computer" and choose advanced system settings and environment at the bottom instead ![]()