Author Topic: Adjust target noise level, total passes or render time limits during a render.  (Read 2137 times)

2022-03-30, 00:59:12

Jpjapers

  • Active Users
  • **
  • Posts: 1650
    • View Profile
Sometimes ive found a situation where ive started a render and want to adjust the noise limit. Usually when a scene cleans up faster than expected but dont want to stop the render.
Is there any reason why we couldnt adjust the limits on the fly during the rendering process in the VFB?

2022-03-30, 08:42:22
Reply #1

Frood

  • Active Users
  • **
  • Posts: 1919
    • View Profile
    • Rakete GmbH
Stop conditions are pulled at start of rendering together will other render settings and are not evaluated later any more to avoid inconsistencies, that's the reason. For unattended network jobs I use a periodically invoked script to test for stop conditions "externally" and use the corona interface to gracefully finish the job if conditions are reached (also see https://forum.corona-renderer.com/index.php?topic=30970.msg176411#msg176411).


Good Luck



Never underestimate the power of a well placed level one spell.

2022-03-30, 10:09:23
Reply #2

Jpjapers

  • Active Users
  • **
  • Posts: 1650
    • View Profile
Stop conditions are pulled at start of rendering together will other render settings and are not evaluated later any more to avoid inconsistencies, that's the reason. For unattended network jobs I use a periodically invoked script to test for stop conditions "externally" and use the corona interface to gracefully finish the job if conditions are reached (also see https://forum.corona-renderer.com/index.php?topic=30970.msg176411#msg176411).


Good Luck

I understand they are evaluated when the render begins. But why does that have to be the case? Surely corona is just constantly comparing its pass/noise level number to whatever that spinner value is to determine when to stop.

If inconsistency is the argument then being able to adjust the tonemapping controls mid render is just as dangerous imo. Ideally id like to see a way to do it without having to stop and resume the render as you pointed out in that linked thread.
« Last Edit: 2022-03-30, 10:13:27 by Jpjapers »

2022-03-30, 11:19:45
Reply #3

Frood

  • Active Users
  • **
  • Posts: 1919
    • View Profile
    • Rakete GmbH
But why does that have to be the case?

I argued about this quite a time, being of the opinion that it hasn't. I think it is just a bit tricky to implement.

Surely corona is just constantly comparing its pass/noise level number to whatever that spinner value is to determine when to stop.

It just doesn't. It constantly compares to internal values which were set at render start according to the spinner values (and other settings in the render setup UI) as far as I know. I can understand that most of those settings have to be static and cannot be changed after being initialized. But stop conditions could be handled dynamically imho. If you take for example noise level - it's dynamically calculated anyway and leads to a render stop when reached. So why should the value set in the UI not been compared/refreshed after every pass?  And even when thinking about DR I see no reason because DR slaves just silently render passes until they get message from master to stop.

If inconsistency is the argument then being able to adjust the tonemapping controls mid render is just as dangerous imo.

I think VFB / tone mapping runs in a completely different context. Anyway...

Ideally id like to see a way to do it without having to stop and resume the render as you pointed out in that linked thread.

+1 (again)


Good Luck


Never underestimate the power of a well placed level one spell.

2022-03-30, 14:00:43
Reply #4

Jpjapers

  • Active Users
  • **
  • Posts: 1650
    • View Profile


Surely corona is just constantly comparing its pass/noise level number to whatever that spinner value is to determine when to stop.

It just doesn't. It constantly compares to internal values which were set at render start according to the spinner values (and other settings in the render setup UI) as far as I know. I can understand that most of those settings have to be static and cannot be changed after being initialized. But stop conditions could be handled dynamically imho. If you take for example noise level - it's dynamically calculated anyway and leads to a render stop when reached. So why should the value set in the UI not been compared/refreshed after every pass?  And even when thinking about DR I see no reason because DR slaves just silently render passes until they get message from master to stop.


Yeah to be fair now i think about it more, it wouldnt be referring back to the UI constantly it would be getting that value at render start and just storing it internally as you say.