Pause and resume renderings Cycles X

Just started experimenting with Cycles recently. I am amazed with how fast Cycles x is now even for interiors. Wanted to ask if this is possible in Blender’s cycles:

Also on a side note: This was done by Ian Hubert:

Can anyone pls confirm if this was done with Cycles or Eevee?

There’s work being done currently to introduce such pause/resume rendering functionality in Cycles iirc.

With regard to the other question, it’s probably Cycles. In his sketchbook-thread, Ian made this statement:

Note however this quote dates back to April 2019. Things might have changed since then, so take it with a grain of salt.

greetings, Kologe

1 Like

It’s all cycles- although I’d do the test renders in eevee, and a lot of times they looked so similar I had a hard time telling them apart :slight_smile: The only real reason I went with cycles was I used a lot of emissive materials, and those don’t work well without a high res luminance volume. - Ian Hubert

From one of his replies to the comments on the video.

1 Like

Thats great news. Do you know if there is a possible version where this would be added like 3.4 or 4.0 because I have a feeling it won’t be anytime soon.

Thanks a lot guys. Really appreciate the info. :+1: That animation video is really breathtaking.
I am wondering if he is using Cycles X now or has switched to ECycles or Kcycles,

Any updates on adding pause and resume to Blender rendering with Cycles? :pray:

1 Like

Upvoting; I could’ve seen an argument in the past to not have pausing because of the time it would take to de-initialize and re-initialize a render for a large scene (especially if the unloading of geometry or the BVH is involved). However, there has been a lot of optimizations in the area, so I do believe it is time to introduce it.

1 Like

That’s great to know. Thanks for the info.

Hoping this gets added. Would save a humongous amount of time for Cycles X users. :slightly_smiling_face:

How would it save time, the total render will still take just as long, if not longer to build the BVH, etc between each start/stop.

The only way it could save time, would be if Cycles progressively saved the render as it went along, so should Blender crash or power go out, etc one could resume from where it stopped.

Some people when rendering very heavy scenes or very high res images say 16k render, would prefer to render in intervals rather than in one go to prevent their cpu from overheating or so to speak kill their gpu in the long run so they render for a while, pause the render, let the cpu cool off and then resume later.

The resume method in Corona from that vid enables you to start from where you stopped rendering. Cycles X does not have this feature so it saves you time you would have spent rendering from scratch all over again.

Also not everyone has two computers or more they can use to render seperately so it gives you the freedom to pause the Cycles X render and free up your PC for you to use it for other things and you can then resume later.

Your PC is no longer held hostage until your render is finished which might take hours if you are rendering very heavy scenes or very high resolution images.

I would have expected this would have been one of the first things they should have added to Blender Cycles considering the fact that most of Blender’s users would likely have these issues I have mentioned especially as its free and readily available but its has only been available in paid renderers so far.

I am hoping they consider adding it. Will make things so much easier. The power issue you mentioned is also another thing especially in some countries. :slightly_smiling_face:

You can reduce the number of threads used if you have a lot of them, but it is definitely not as effective as a full pause/resume system. This would especially be useful for animators who often take days to render something out, even on the GPU.

Yep, thats why we need it added to Cycles X. :+1:

Yeah. It will help them a lot.

Afair the Blender Studio used some way of basically rendering the same image twice in individual sessions (possibly at a different time) using a different seed value each time, and then had some way of merging the resulting .exrs such as to produce (almost) the same image from the differing noise-patterns as if they had rendered in one go as many samples as the sum of both images’ samples.

I believe they used some kind of ‘inhouse-tool’ for this merging process. Right now I neither recall the exact details nor where exactly I read/heared about this, but I believe it was as early as during the production of ‘Sprite Fright’.

So if one needs such a capability, and needs it now, there’s probably something which can be dug up somewhere/Blender Studio personnel can be asked about. Although it’s probably neither the most proper, nor the most clean and userfriendly solution.

Well, hopefully not days per single frame (sure that is common for hollywood-grade highend FX work and Pixar-level animated shows), so it’s probably less relevant there for the average Blender user.

greetings, Kologe

If the CPU is overheating, then the installed cooling solution isn’t good enough. There is a view that constant stop/start from hot to cold to hot states isn’t actually worse. That short of being too hot and burning out, a constant steady state temperature is actually better and likely to lead to less failures.

If crypto mining proved anything, its that GPU’s can run at a full load 24/7 and keep doing so for years.

Yes, as I said, that is where time savings can be made.

However, other then that, while it maybe nice to be able to part render, do something else and then resume, from the point of view of how long the actual render takes, there is no humongous time saving. There’s no time saving at all.

I more expect the first things to add are stuff that just speeds up the actual render time, which they did with Cycles X and continue to do so. As such, having a resume option is more likely down on the list. Add to that it may not be as easy as it sounds. You need to store the current state (which changes every second) and on resume load/calculate back to that state and continue as if it was never stopped.

At the end of the day, if the render takes that long, set it going and go to bed. Over the years I’ve processed many things overnight, sometimes it was just what had to be done.

Short of each frame taking days to render, it wouldn’t be that useful. Any animation is saved to a single image file per frame, so if it’s a long render, set it going on frames 1-100 and then at a later time, render 101-200, etc.

1 Like

Something not mentioned by thetony20, assuming your room is a reasonably constant temperature (not fluctuating by 10+ degrees) your CPU will overheat within minutes of starting a render, if you have a bad cooling solution. When a CPU overheats it will first throttle down, then it will shutdown. Unless your AC is struggling to keep your room/house cool, pausing the render does nothing to manage CPU or GPU temperatures.

1 Like

Time saving means different things to different people. If you live in a 3rd world country where there are power outages all the time, this feature would be a huge time saver. And I do believe a lot Blender users do live in 3rd world countries so that is something Blender devs should consider. Also many Blender users aren’t using high end gpus especially while starting out learning 3d so their renders would not be as fast as say someone using a RTX card. I know you mentioned power outage as a good reason to have it.

So question for you, why do you think paid renderers like Corona have it then? It was faster than Cycles at the time it was added.

Thats not a luxury some Blender users can afford if power isn’t available 24 hrs a day . Even if it was, one should have that option. Not everyone is comfortable leaving electronics on and going to bed.

Didn’t know that. Thanks for the info. :+1:

Possible it sounds like a neat feature and it was added as an extra marketing tag as other renderers didn’t do it…
I don’t know, that’s really a question for the Corona devs and then an even better question would be for the Corona users, as in do they use the feature.

Lets face it, if you are rendering 16K images or scenes that take hours+ for a single frame, then it’s less likely to be some at home hobby. It’s a job, paid worked, feature film, etc, etc. In that case one likely has the better hardware or outsource to a render farm and the like.

Would it be a nice option to have, sure, why not. But if dev time and resources are limited (which we know they are), I’d rather the time be spent on improving shader realism, or speeding up overall features of Cycles that everyone gets to benefit from.

A extra marketing tag? So are you saying that the feature was useless and was made to stand out from other renderers after I just named reasons why its useful?
Vray has it : https://docs.chaos.com/display/VMAYA/Continue+a+render+with+Resumable+Rendering
Renderman has it: https://renderman.pixar.com/resources/RenderMan_20/risRecovery.html

I am pretty sure other renderers have it. The fact they do is proof that it is an important feature to have. This is like light linking all over again where something is frequently requested but since some people don’t use it or isn’t affected by its absence, its usefulness is seen as less important.

I disagree. Having options is always a good thing. This gives those who do not have those resources a chance or a foot in the door. Even companies use this feature inhouse like @Kologe just mentioned above. or are you afraid this might give some people opportunities that might create competition for those who have access to these resources you just mentioned? I get what you are saying, If Cycles X becomes faster, this feature would not be a thing but the reality is there are situations that might warrant it like how Blender studio had to make something similar.

Fair point but I will still argue this gives more options for Blender users to make more challenging renders since they know they can back up their renders and finish it over a period of time due to challenges they face project wise. @Ace_Dragon already mentioned this is now possible or more favorable than before. I doubt it will be a problem to add at this current stage.

As always, the ball is in Blender devs court. They make the final decisions.

Maybe, or in the world of commercial renderers, once one has a feature, the others are more likely to implement much the same thing, so as not to look like they are getting left behind. Stuff like that happens all the time, across everything. Could it be really useful, sure, did some users ask for it, very likely, does it end up only being used by 5% or less of the user base, who knows.

Makes no difference to me, unless it takes time and resources away from something else that would make a difference to me and likely many other people.

The Blender studio didn’t do any pause or resume rendering, I remember seeing the video that @Kologe is talking about.

It was purely a method to reduce noise without increasing render time to crazy levels per frame.
They found that by using a difference seed setting and rendering the same frame twice, but at lower samples compared to a single render (so two full renders at say 1000 samples, is faster then a single render at 4000 samples) and then combining the two completed images, resulted in lower or equal overall animation noise then just a single render that took longer to produce.

It’s a compositing thing, rather then a saving a render partly done and then continuing later.

That’s not to say that tricks like this and various other things can’t be done that in some ways can help to solve the same problem that you list a pause/resume feature can be used for. If you can cut the render time in half to get a completed image, then no need to pause and resume, since if you are going to pause at the half way point, well it’s already done.

Well lets agree to disagree then. :slightly_smiling_face: Was really nice having this conversation with you. :+1: I appreciate the points you made.