The regular Windows API for multithreading allows a single process to run only on one processor group (up to 64 threads). There is a newer API that allows a process to run on more cores, but we are not using it in V-Ray yet.
What you can do however, is run a local DR render server on the same machine and use local DR. This would be more efficient anyways.
So I guess to fully use this as a rendernode, I would need to virtualize to 2 machines and run separate processes.
Is there a plan to implement this updated version of the windows api?
I’d use it as a workstation and just be grateful for A: the POWER! and B: the fact that there are 4 cores (8 virtual) left over for browsing the web while you render
You can do that, but actually V-Ray 3.0 allows you to run multiple V-Ray spawners on the same machine at different ports, I just need to check what was the format of the command line.
Is there a plan to implement this updated version of the windows api?Yes, eventually we will have to do that. Although it means that it will not run on anything below Windows 7 anymore. See this page for more information: Processor Groups - Win32 apps | Microsoft Learn
There is a statement there that worries me a little bit:> If an application uses a DLL that has per-processor data structures, and the DLL has not been modified to support more than 64 logical processors, all threads in the application that call functions exported by the DLL must be assigned to the same group.V-Ray makes a lot of calls into 3ds Max DLLs during rendering and some of them might maintain per-thread data structures - not sure how/if this will affect things.
Thanks for the information.
Was also trying iray, mentalray, corona, octane, etc… Given its locked out by the single max process, this makes sense.
For the vrayspawner args, along with the portnumber, is there one for number of threads?
Actually is there’s a doc for commandline parameters, you never know when they will come in handy.
I saw on corona’s forum that someone had the same issue as you do, might be you actually didn’t check.
He disabled the HT and had obviously all the cores working again.
Is there a real valuable benefit to the hyper threading, anyways? Enough to justify going with multiple DR and all that fiddling in stead of just disable HT?
Depending on the scene, up to 30% speed improvement. However this was true for i7 and older Xeon processors, I don’t know if it’s true in this particular case. If the machine is split in two virtual ones, then definitely HT will be useful.