

These are available in the advanced settings in the render properties. There is also an automatic scrambling option to automatically choose a scrambling distance value. Sobol & Progressive Multi-Jitter (PMJ) can now use distance scrambling (or micro-jittering) to improve GPU rendering performance by increasing the correlation between pixels. Koro rendered with Blender 3.0 and the optimizationsįor the statistics enthusiast, here are some memory and timing results for a few well known scenes, so that you can see the results for the transparent hair baking and the shadowing optimizations (ref is the reference without any optimizations).Below are two sample images to compare the results. Render results are identical in all scenes we tested. Instead of evaluating the shader for every shadow intersection, we now bake transparency at hair curve keys and simply interpolate them.

This matters especially when only a small amount of pixels are going 64 bounces deep into transparent hair, as in the Spring scene.įurther, we found that transparency in hair is usually quite simple, either a fixed value or a simple gradient to fade out from the root to the tip. This then gives a bigger number of shadow rays to trace at once, improving GPU occupancy.

Now this is decoupled, and shadow tracing work for many bounces can be accumulated in a queue. Previously, continuing to the next bounce would have to wait for all light and shadows to be resolved at the previous bounce. Now we detect low GPU occupancy and adaptively increase the number of samples to batch together, which then increases occupancy.Īnother part of the solution was to change the shadow kernel scheduling. Previously we’d end up rendering 1 sample at a time. This was improved by making the algorithm to estimate the number of samples to render in one batch smarter. One issue we found is that in GPU rendering, if only a small subset of the whole image is slow to render (like a character’s hair) then GPU occupancy would be low. While most benchmark scenes were rendering faster with Cycles X, a few involving many layers of transparent hair were showing performance regressions compared to 2.93. Since then we have restored volume rendering, and found that GPU rendering performance improved 3-5x in various volume scenes. For details, see the GPU kernel documentation and GPU performance development tasks.Īt the time of the initial announcement there was no volume rendering support. This is an accumulation of many incremental changes. Render time on an NVIDIA Quadro RTX A6000 with OptiX

GPU rendering performance has been further improved. Well give a quick overview of recent developments. Since the announcement, developers have been working to complete and stabilize the code, as well add new features and improve performance. The rendering improvements from the Cycles X project will be in the upcoming Blender 3.0 release.
