Cycles feedback

The latest modifications you guys did on the adaptative sampling are great. It finally behaves like you would expect from this sampling method and the noise level is a lot more predictable than before.

1000*1000 render, 10000max samples 64min samples, 0.02 noise threshold.

CyclesX version from mid august :

CyclesX from today ( 14 september 2021 ) :

Good job guys! Keep up the good work.

21 Likes

A few thoughts after reading Sept 14 meeting notes (2021-09-14 Blender Rendering Meeting).

  1. Christophe is mentioned but not MNEE, so I guess it’s not going to make it? Or is MNEE one of those things that can still be merged in bcon2 (starting next week)?
  2. The change in sampling UI panel actually changed more things than I expected, I generally agree that it is in a good direction, but I believe a lot of users will not be familiar with noise threshold and how noisy a certain threshold is supposed to be. So maybe include some example renders in the manual showing the noise levels of some important threshold numbers like 0.1 and 0.01 so people can have a reference?
  3. Also about the sampling UI, after using it for a few days I am not sure whether having the final denoise checked by default is the right choice, My personal reason is that I mostly use the Compositor Denoise node more because it generally produces better result. I noticed the render panel OIDN is catching up after the CleanAux Prefiltering implementation, but since the same can be done to the node as well, I would assume the node will take back the lead soon. So I think it makes more sense to have the render denoiser to not be checked, otherwise it would be kind of an unconscious hint for the users to not use the compositor denoise node which I believe has a better quality.
  4. Cycles X is going to be merged next week, but two of the issues I am having with Cycles X are still not adressed. The first one being this:

I included a test file in the original post.

The second one is listed in the new features and changes task but there is no mention of it in the Sept 14 meeting note:

In the task it is said that the random walk self intersection issue will be tackled for 3.0 release, but next week will be the merge, I am kind of worried, since it’s kind of sure now that Burley is not coming back (it’s written in the release note now Reference/Release Notes/3.0/Cycles - Blender Developer Wiki).

Are these two issues part of those things that can still be fixed later on after the merge?

3 Likes

Testing performance of alpha channel (Principled BSDF node).

Setup …
an array of 128 planes, stacked. The material does have a circle shaped transparency mask.

It seems that alpha masks still do impact performance.
I used GPU rendering, an RTX2060S. Image size is 2048x2048 …
a single sample takes around 6 seconds.

The file is on my google drive space. (Uses 1024x1024 (50%) for preview rendering)

2 Likes

Just gave your blend file a quick try and here it renders in 1:22 minutes with your settings unchanged on a Linux laptop with a RTX 2070S:

Build was blender-3.0.0-alpha+cycles-x.58ab616d4c6e-linux.x86_64-release from Build Bot.

1 Like

Interesting.
Your GPU is nearly 3 times faster than mine.

The default setup only uses 1024px²(50% of 2048px²).

Here, 1024px² with 128 samples takes 3:38 minutes. A single sample takes 1.7 seconds.
( (3*60+38)/128 == 1.7 )

Another test … I unplugged the alpha mask, all planes are without transparency. After, I moved the camera, to get a view of all planes. Rendering of all 128 samples takes 8.77 seconds.

Here, experiment shows, the very same scene with transparency mask slows down render time nearly 25 times.

If I render the same scene on master it takes 2:10 minutes. So Cycles-X doesn’t seem to be particularly slow.

Alpha transparency isn’t a path tracer’s favourite dish anyway.

I remember when ~14 years ago we started using Arnold in Softimage and while it could render everything you threw at it (compared to Mental Ray which was a pain), you could easily grind it to a halt with a tree and leaves with alpha maps on them. :wink:

1 Like

There is currently a problem on my device in changing the resolution on rendering. When i set a higher resolution it gets a transparent stripe on the right side(The Second Tile). It gets bigger when I set a higher res.
And the Render Stucks on Sample 1408 and doesnt goe further so the other Tile never gets rendert.

I dont see that as an issue anyway believing thats how tile rendering works when the resolution exceeds 100% as with time it gets rendered, unless in your case, the right stip doesnt render at all which is not clear from your description.

MNEE will not make it in 3.0.

The compositor denoise node does not have better quality, it should work the same.

Yes.

If there is a performance regression, that is worth investigating. However alpha mask are expected to have a significant impact on rendering performance compared to opaque surfaces, both in cycles-x and master.

3 Likes

Sorry edited it again!

It works my bad. The Counting from the Sample Number in the Header is only stuck.

Should be fixed now, it only happened with a fixed background color, not with a HDRI.

2 Likes

bug when baking with smooth mesh like cylinder. tested on cycle x branch 8072ef2ae9f0 and compared with 2.83.16 . i haven’t test master yet.

blend file:
https://pasteall.org/blend/7705d8769a25432c97e66b91f3c8a294

Hmm what does this mean?


Negative time remaining?
Just changed the noise threshold to 0.001 and hit render and saw this.

Does anyone get this error regularly?

OPTIX_ERROR_INVALID_VALUE in optixAccelCompact( context, 0, out_handle, compacted_data.device_pointer, compacted_size, &out_handle) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\optix\device_impl.cpp:1078)
OPTIX_ERROR_INVALID_VALUE in optixAccelBuild(context, 0, &options, &build_input, 1, temp_mem.device_pointer, sizes.tempSizeInBytes, out_data.device_pointer, sizes.outputSizeInBytes, &out_handle, use_fast_trace_bvh ? &compacted_size_prop : 0, use_fast_trace_bvh ? 1 : 0) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\optix\device_impl.cpp:1053)
OPTIX_ERROR_INVALID_VALUE in optixAccelCompact( context, 0, out_handle, compacted_data.device_pointer, compacted_size, &out_handle) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\optix\device_impl.cpp:1078)
Invalid value in cuMemFree_v2(mem.device_pointer) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\cuda\device_impl.cpp:798)
Invalid value in cuMemFree_v2(mem.device_pointer) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\cuda\device_impl.cpp:798)
Invalid value in cuMemFree_v2(mem.device_pointer) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\cuda\device_impl.cpp:798)
Invalid value in cuMemFree_v2(mem.device_pointer) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\cuda\device_impl.cpp:798)
Error: Failed to build OptiX acceleration structure
Error: OPTIX_ERROR_INVALID_VALUE in optixAccelCompact( context, 0, out_handle, compacted_data.device_pointer, compacted_size, &out_handle) (C:\Users\blender\git\blender-vexp\blender.git\intern\cycles\device\optix\device_impl.cpp:1078)

I do not get any errors when I open the scene first time and render it. This shows up when I try to render it the second time .

I can render these scenes without issues in 3.0 alpha Cycles.

It would be useful if you could provide the .blend file you use, or steps to reproduce it so we can test it.

it would also be useful if you share what device (GPU model) you’re using for rendering.

Also, updating your GPU drivers might be a useful thing to try just in case.

Providing the scenes for debugging purposes is not always easy due to the project NDAs or the file sizes. Obviously this makes it harder to debug or speculate about these issues properly. I will try to test this with Blender demo scenes.

I have been testing Cycles-X with RTX 2070 Super on Win10 x64. And I already have the latest Nvidia Drivers.

Can confirm that it’s fixed now. Behaves identically to vanilla Cycles.
Although I’m curious - do you have plans to introduce some sort of smart environment sampling or auto portals in the future? Sometimes it can be difficult to manually place portal lights when you have a complex indoor+outdoor environment.

I have found a bug in Cycles x with simply having the sky texture and an upscaled plane. The Normals below look strange. On Optix
Scale 1

Scale2

Scale3

It is OptiX specific bug. If you switch to CUDA it will disappear.

OptiX

CUDA:

2 Likes