Cycles feedback

You use external vRAM monitors in the foreground while you render, such as GPU-z on Windows or “watch -n 0.5 nvidia-smi” on Linux. Blender has no way of knowing exactly vRAM usage (at least for nvidia).

1 Like

This issue should be fixed as of this commit: rBe5cba662a418

Good news:

  • Since the build of 09.07.21 the combination Adaptive Sampling + OIDN works. I get improvements of up to 2x Speed increasing depending on the scene. Many thanks for that

I have a slight problem with volume rendering.
I attached a simple scene containing a simple convex object and a vdb. On frame 490 the vdb is empty, on frame 491 the vdb appears (on the right, not directly visible in the rendered frame).
So frame 490 looks like this:


While one frame later like this:
image

Notice the darkening and the stripes.

If I render the same file in master both frames look the same without any darkening.

The blend file and the vdb is here: https://1drv.ms/u/s!AlOpRG0iPvzdhKFWXAe1cyB73SGgfw?e=VrKTg2

While doing a fake caustics test with the Light Path Node and the Transparent Shader, I found an issue with (maybe) the way the Transparent Shader Acts. It doesn’t render the same way and it’s totally redoable.

A link to the project .blend: Fake caustics test.blend - Google Drive

2 Likes

Interesting issue, I just tested with your file and comfired that it has to do with the bump node. I baked the bump into an image texture with exr in master and take that into Cycles X, it produces the same result as the master.

I am curious about why the bump node acts differently in Cycles X.
Also I really hope they can start developing Path Guiding soon so we don’t need to fake caustics anymore.

1 Like

Wow I just used a sun lamp in Cycles X and I looked up at the sky, guess what I saw?

Wow, just wow. So cool. Don’t know when this was added, it’s probably there for a long time but I just discovered it just now, it is SO COOL!

One question though, how do you hide it when you don’t want it?

EDIT: It seems like turning off the multi importance sample disables it. But Multi Importance Sample sounds like something that would impact the performance, so I am not sure whether this is how I am supposed to turn the sun shape off.

1 Like

Tested the latest build (9aa5aeee46ae), but this time CPU (3600X) + GPU (1660GTX):

Additional notes: OptiX denoiser in viewport is a bit glitchy. When you set it to “Color + Albedo + Normal” it has normal map colors overlaid on top of the viewport output.

UPDATE: All-in-One chart: CUDA (GPU) / CUDA (CPU + GPU) and Optix (GPU) / Optix (CPU + GPU)

Additional notes: I’ve noticed that CPU + GPU performance in Cycles X can fluctuate by ~10% between sessions for no apparent reason. It means that every time I open up Blender I might have different rendering time (of the same frame) than I had before. That’s quite strange.

7 Likes

I have the same experience as you. About 10% between sessions

I might be wrong, in which case just ignore this post.

But you should probably add a disclaimer about your GPU (GTX 1660) in regard to Optix acceleration, as if I’m not mistaken, it doesn’t benefit from it just like old 10xx series, and can sometimes even be slower then CUDA, as showcased in your graph, for someone who is just passing by quickly looking at the graph, he might get the impression that optix is not worth it yet, even if he have an RTX card.

4 Likes

Maybe I’m too quick to mention this issue, but I just want to make you aware of this anomaly with cycles-x.
When selecting a transparent background together with a “world background”, the viewport works as expected, but the render shows a semi-transparent background…
Just so you know… I’ve made the mistake of filing a bug report… was slapped on the hand for it :wink:

1 Like

I’m loving cycles-x. I built a headless linux version, which works fine in CPU mode. I would like to use it in my render farm, which is a bunch of GPU-ready docker nodes. I build with Optix & CUDA like this: OPTIX_ROOT_DIR=/usr/local/optix make headless package_archive.
I know this is super alpha, so if I’m too early for this just let me know, but when I run that version on my render node, it doesn’t find the T4 GPUs. I get this in the --debug-cycles log:

I0714 18:01:57.745564   434 device.cpp:55] Neither precompiled kernels nor CUDA compiler was found, unable to use CUDA

and with strace I see it’s looking for nvcc which I haven’t installed on those nodes. I have CUDA 11.0 there though.

I’d like to avoid installing nvcc on those nodes, but I don’t have that exact GPU locally so I’m guessing I can’t precompile the kernels without one. So does that mean I need nvcc on the render nodes? And if so, can I precompile the kernels once and copy them to the other nodes?
Thanks!

you can build locally with nvcc even if you don’t have an nvidia card in the system. just be sure you have the WITH_CYCLES_CUDA_BINARIES cmake option on.

1 Like

Thanks – that gets me part way there. The build now takes a really long time! (About 30 min) But the generated .ptx and .cubin files in intern/cycles/kernel don’t seem to get installed into the release .tar.gz as far as I can tell, and running it I get the same error as before. Perhaps I just need to copy them over? Not sure where they should go. Using strace I don’t see it looking for any ptx or cubin files.

1 Like

That kind of depends on how you make your install .tgz if you use cpack they ought to have been included , if you just tar up your bin folder they may or may not be there depending if you ran make install or not.

and yeah… they do take quite a bit of time to build

1 Like

I just use make package_archive to make the .tgz. I don’t usually run make install. I’ll check the cpack method.

Cool; cpack works! I’ve got CUDA support in my render farm now. Dual T4s on each node ftw! :slight_smile: (No Optix yet but that’s just an nvidia driver-version issue on my side.) Thanks @LazyDodo!

Using cycles-x latest headless on Linux, I notice that in 4cf3efaa43b of July 13 Brecht removed cycles.preferences.get_devices() which I had been using to initialize & enable the CUDA devices in my headless renders, in my render startup script. If I don’t call that, my renders don’t seem to get CUDA-accelerated (I don’t know of a debug flag to definitively prove that but the renders are slow).
I’m guessing that wasn’t ever part of the public API, and I should be doing something else to enable CUDA/OPTIX.

I’ll note that if I do this instead of calling get_devices I get my CUDA speedups back:

import _cycles
for device_type in ('CUDA', 'OPTIX'):
    self.update_device_entries(_cycles.available_devices(device_type))

I encuntered an interesting issue when trying to use Photographer addon’s physical light workflow in Cycles X, something seems to be wrong with the light threshold.

For those don’t know, Photographer addon provides physical light units like Lumen and Candela, but because the actual brightness of lights can differ drastically (sun at noon when using Nishita at 90 degrees sun height, vs a 800 lumen light bulb that is around 1 to 2 blender w), it usually needs to be used along with Photographer addon’s physical camera exposure. When having dim light and adjusted exposure to brighten the scene, the light would become extremely noisy because Cycles would lower the samples of dimmer value light. Solution in the master is to adjust the light threshold according to the exposure or you can also just turn it to 0:

I tried to to the same thing in Cycles X and something about the light threshold is not right. I recorded a video here, I did not use the addon tool and I adjust everything with Blender built-in buttoms:

What is going on? I want to ask whether this is a bug or a “feature”, if it is not a bug, I am afraid the physical light workflow in Blender would suffer a huge impact. If it’s just a bug then I am more relieved that it would probably get fixed later on.

2 Likes


the AO pass is kinda messed up, latest cycles x build on the right (blender-3.0.0-alpha+cycles-x.e596936336d9-windows.amd64-release)

i usually use eevee to set the material blend mode and shadow mode to alpha hashed in all materials with transparency, but cycles don’t care about it, even eevee cares about it, anything that i do makes cycles x care about AO in my transparent materials