Pause Render

Need no further explanation. Would be really helpful when rendering locally.

did you do a search to see if someone has requested this before and if there was a response to it?

Yes, more than a year since anybody asked for it. And no response from Chaos group in the forum. A lot has happened since then.
But I agree that no forum benefits from having the same topic covered in many threads.

Being able to pause would slow down v-ray, worth it?

Why would it slow it down to any significant degree? And even if it did, its only there if you need it.

That’s the prob, it’s not just there, v-ray would need to constantly check to see if you happened to press the pause button. This was thoroughly discussed back in 2003-2004 :slight_smile:

If the render could be paused, would it be much different from temporarily setting the CPU affinity to 1 CPU? Even if paused 3ds Max would probably still be using a load of ram, sucking up system resources which might slow down everything regardless.

Surely things change? I couldn’t use GI back in August 1998 :wink:

every time I’m rendering something that takes a lot of time, and suddenly have to quicly prepare something different, I PRAY for the pause button. because setting affinity to 1 cpu leaves me with only 3 cores, while all the render nodes are still working on the original file.

so the pause option in vray - as neccessary as it sometimes is - would be meaningless without temporarily relieving the render nodes as well as the workstation.

or maybe we should think about some kind of a render manager, that could assign/unassign slaves/cpus on the fly?

Well, of course, that would be an amazing tool that relates to other threads that have appeared over the years. A render manager that allows you to add nodes to DR render jobs, or restart them etc would be fabulous.

I always run vray with the low thread priority option checked, that allows me to keep working on other stuff while rendering. as long as I don’t run out of memory that is.
but I agree, quite apart from the pause button, a dr manager would be great.

just change the cpu priority in the task manager. a pause button doesn’t make sense, it doesn’t free memory, it’s useless.

It will slowdown vray .. you are right ..but i think that one execution will be a slowdown which you will never recognise.

I think a instant pause isn’t possible if you are in bucketmode, but a pause of assigning buckets to the renderslaves would be possible:
The 3ds max pause button fires a signal into the render enviroment and vray only have to catch it. Then it have to stop sending/broadcasting the bucket id of the next bucket to the renderslaves.

Is it so difficult?

It’s a waste of time in all accounts…

The main issue here is that we don’t have direct access to the Pause button to check its state; instead, the Pause is implemented as part of the render progress bar - whenever the renderer updates the progress bar, 3ds Max checks the Pause button, and if pressed, does not return control to the renderer until the Resume button is pressed. In that way, the renderer itself is not aware of when the pausing happens. This is the main issue. V-Ray has one main thread, which does not perform rendering, but only updates the progress bar, while the actual rendering is done by other worker threads. When 3ds Max pauses the main thread, this does not in fact stop the rendering done by the worker threads - and since the main thread itself cannot detect when the pausing happens, we can’t really do anything about it.

Best regards,
Vlado

thanks Vlado, this clears things up.

but how about being able to assign/unassign render nodes on the fly?
for example I want to unassign/disconnect one node from job A and assign it to job B (both being rendered/managed simultaneously by the workstation) without the need to stop job A and unselecting the node in vray’s DR settings. I’m sure this would create lot’s of problems (e.g. loading/unloading the scene each time the node is assigned/unassigned and so on), but is it possible? or are there other render managers that can do such a task?

hmmm, buy some farm boxes and work professionally or make your software jump through hoops to accomadate some funky workflow.. heh :slight_smile:

Even if some say “buy some farm boxes and work professionally” i think it should be possible. ..it’s also a usefull feature if you are working “professionally” on only ONE machine. (…just to reply to an absolutle arrogant statement)

back to possible workarounds, because i don’t want to accept that there is no way.

If the pause button inside max doesn’t work (like with nearly all other renderers), it should be possible to have a pause button in the vrayframebuffer or in the render pipeline outside of max.
Is is correct,that vray only have to send the state of progress to max ,which updates the progress bar?
What i still don’t understand is how the broadcasting of which bucket have to be rendered next works. If there is something like a thead, which organise this process of … “next bucket is id 26 ..which core/renderslave wants to render this one?” .. - why can’t i broadcast to wait for a while?

All the more arrogant to keep pushing for this trivial convenience when you know it would take a lot of dev time away from more useful functions… As stated before just set priority to low and you can keep working unless you are just some hobbyist on some sorry hardware. VRay is not just some toy it is how most of here make a living…

This thread was opened in the vray wishlist forum - not in the vray problems forum.

btw.. low priority doesn’t solve the problem of an occupied DR network.