Cycles Development Updates

Thank you.
I’ve set as you described and it seems it’s working.

I can’t understand really well how it counts the buckets in the hybrid mode.

OpenImageDenoise ON
Just CPU 12 buckets -Task Manager CPU 100%
Just GPU 1 buckets --Task Manager CPU near 10%
Hybrid 6 buckets ----- Task Manager CPU about 55%

OpenImageDenoise OFF
Just CPU 12 buckets -Task Manager CPU 100%
Just GPU 1 buckets --Task Manager CPU near 10%
Hybrid 6 buckets ----- Task Manager CPU about 100%

it can be set for CPU how much cores Cycles takes for render

I’ve set “Automatic” as number of thread to use.
Anyway I’ve tried to set manually but nothing change.

When OpenDenoiser is On, it seems it uses a different number of threads.

Hi, does anybody get artifacts with tile stealing builds?
I have:
GTX 760
RTX 2060
i5 3570K
I try to disable GTX 760 but still there.
Can anybody test the file before I make a bug report?
blender_back.blend (1.8 MB)

Thanks, mib
Version: 2.92.0 Alpha, branch: master, commit date: 2020-11-10 22:11, hash: c4d8f6a4a8dd, type: Release
build date: 2020-11-11, 00:24:50

You didn’t describe your artefacts, but if they look similar to this:

… then you don’t need to report anything. Fix is done and ready to land in master.

2 Likes

From the Blender rendering meeting today.

Cycles

  • State for Blender 2.91: Brecht continues work on bugfixing for the release. No known regressions compared to Blender 2.90 at this point.
  • NanoVDB: Patrick will commit the changes to enable it by default for 2.92. (T81454)
  • Device update: Kévin will upload the patch for faster device updates, to be reviewed.
  • GPU regression testing: no progress, Brecht will try to find time again this week. (T82193)
  • Tile stealing bugfix: Lukas asks for review of bugfix for the new 2.92 tile stealing feature. (T82351)
  • Resumable rendering: Stefan is looking into support for resumable rendering for tangent animation. Particularly for render farm jobs that can be interrupted, which the current resumable chunks feature is not sufficient for.
  • AMD OpenCL hardware raytracing and denoising: design tasks created by Brian. (T82557, T82559)
  • AMD interested in profiling/optimizing split kernel, Brecht created a task with ideas, partially based on discussion in the meeting. (T82583)

The big new thing of note here is resumable rendering, my hope is that Stefen’s upcoming patch relates to pausing and resuming renders as seen in other engines (even FOSS ones). It will be very useful for scenes that take a long time (which will allow the use of your computer for other things in the meantime).

4 Likes

Ah thanks, was about to upload an image.
Exactly looking like in the report.

Thank you, mib

1 Like

Is this (tile stealing) a special setting or is it on by default? I do not see anything regarding it in 2.92 alpha.

it is by default
and it is steals last CPU buckets when GPU buckets is done

1 Like

This patch is to render the missing tiles in say an OpenEXR file when the render task was cancelled on some server because reasons (their use case). They were also talks about having a system like Renderman’s where only a few samples of an animation are rendered for each frame so you can have a look at it and decide if you want to render more samples, if that’s what you mean, this will be done later, but I don’t know when.

1 Like

Yes, this is cool, and it is one of the points I made with the proposal that I was talking about about 10 days ago in this thread (see above).

I just tested the most recent V2.92 Alpha and I don’t see the tile stealing working either.

Hang on, let me dig deep and pull some ideas out of my rear end…

Blender could keep track of how long it takes to render the material preview scene for each material. Before the final render Cycles can fire a small number of rays into the scene and see which materials they hit. Tiles with a high score based on the materials within them get given to the GPU, the lower tiles go to the CPU, then towards the end of the render the new tile stealing feature gives more of the heaviest remaining tiles to the GPU.

I agree that it probably won’t work well with animation and that complex things in reflections make it useless. So, just put options related to this under the Performance section and let people turn them on and configure them if they know they have a situation where it will benefit them. I don’t have the hardware and patience to render animations so I’d probably be using these features all the time if I had them.

1 Like

Does anyone remember an episode of Blender Today where they mentioned a command-line command that would take an already rendered frame and “add samples to it”? It was 2 or 3 years ago I think.

In the meantime, the Blender Suspender add-on can be used: Blender Suspender.

So i just had to setup an environment with bunch of lights, areas and spot. And after some testing i found out i had to turn off multiple importance on each one of them. That reduced noise by a lot. What’s the point having that option on lights? are there any scenarios where it is useful? is this an intended behavior?

Cycles kinda has that already - at least in the viewport.

If you do a viewport render with say 10 samples, then go and change the number of samples to 15, the viewport only renders the additional 5 samples on top - it doesn’t start again from zero.

I wouldn’t imagine it’d be particularly difficult to pause a render on an arbitrary number of samples - then resume. The engine itself seems to already have this capability at it’s core.

the viewport doesn t use bucket rendering

Isn’t the viewport simply treated as one big bucket?

no, its like having the progressive refine on ( i think … )
image