1
$\begingroup$

I've been working on a small project that takes around 10 to 15 minutes to render.

At first, the canceling took a couple seconds to almost no time. But recently, the canceling time something takes almost 3 to 5 minutes! (I just tried it, and after 30 minutes it was still on the "cancelling.." screen.)

(Just the "canceling..." message to appear after I press "Esc" takes almost 20 seconds.)

This is pretty annoying and really puts me off rendering, is there any way to fix this?

EDIT: Here's the .blend file for anyone who wants to have a look -

$\endgroup$
  • $\begingroup$ Do you use Branched Path Tracing? In that case it will be longer than with Path Tracing sampling method. Also are you rendering whole image at once? (Performance > Progressive Refine) $\endgroup$ – Mr Zak Jul 25 '17 at 12:01
  • $\begingroup$ You should report it has a bug, the cancel button should instantly kill the render process. developer.blender.org/maniphest/task/edit/form/1/… $\endgroup$ – Danyl Bekhoucha Jul 25 '17 at 13:05
  • $\begingroup$ @DanylBekhoucha thanks for the recommendation, I just submitted the bug form. Now we wait.. $\endgroup$ – BeardWix Jul 25 '17 at 14:09
  • 1
    $\begingroup$ Is it possible for you to share the scene? I'd like to check if the issue is localized on your environment, or if it happens for other users too. I've never seen cancellation times this long, no matter how heavy the scenes. $\endgroup$ – aliasguru Jul 25 '17 at 19:48
  • $\begingroup$ @aliasguru - I added the link in the post. For some reason, this simple scene is having an insane amount of problems lately. Once, at 500 samples, I left it to render for an hour and a half, and it literally rendered nothing.. Previously, even at 3000 samples, it would render at least something.. :( $\endgroup$ – BeardWix Jul 26 '17 at 2:57
3
$\begingroup$

I'll try to explain it in layman terms, hopefully it is not very far from the actual technical workings of a render engine. If someone with true programming inside knowledge wants to barge in, please do correct me if I'm wrong

While rendering Blender, and most rendering software for that matter, divides your image up into small digestible chunks, like buckets samples, or whatever method is more adequate for the current engine.

These chunks are then run through some sort of scheduling agent that queues them and sends them to the available processing units, be it a GPU, CPU core, one of several networked computers, a Farm or whatever.

The scheduler then waits for the processing units to churn through that data, produce the image slice and return them as rendered chunks to send in a new one afterwards.

Until that chunk is returned Blender has no control over that processing unit, all it can do is waiting for the returned information.

If you cancel a render Blender most of the time the only way to actually stop it is by not sending a new chunk, and even if a "cancel" signal can be sent, often the processing unit is busy and can't act on it until it finishes that chunk anyway.

The time until the signal is interpreted or the current chunk is finished is the delay you experience between pressing Cancel and actually stopping.

Following Scott Milner line of thought, the larger a render tile or bucket is, the longer it takes to render, so theoretically the longer the delay to cancel. The same applies for more complex algorithms like Branched Path Tracing which require more processing power and memory, and thus take longer to process.

Have in mind that lowering bucket size may negatively affect your render times, so you should weight the pros and cons of faster render or faster cancelling.

$\endgroup$
  • 1
    $\begingroup$ To add to this, one way you can shorten your canceling times is to decrease your tile size. $\endgroup$ – Scott Milner Jul 26 '17 at 3:10
  • $\begingroup$ @ScottMilner aha! I increased it to 256 because the tutorial told me that on GPU, it renders faster if the tile sizes are bigger. I think this is the solution here. $\endgroup$ – BeardWix Jul 26 '17 at 4:14
  • $\begingroup$ Thanks for the tip @ScottMilner, added details based on your comment $\endgroup$ – Duarte Farrajota Ramos Jul 26 '17 at 4:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.