Cycles 1.5 to 2x faster interior rendering for GPU and CPU

Thanks. I would like to try it, but AMD driver update just freezed again… I cannot believe it is just so hard to make it work.
I try it manually.

Here is a linux build with that patch:

-- PACKAGE-INFORMATION --
Branch: master
Revision: 5121dac
Submodules: locale 1959e6f addons 32dc220 addons_contrib c674fb9
OS: GNU/Linux, Architecture: x86_64, GLIBC: 2.19
Builddate: Fr 25. Aug 21:07:29 UTC 2017
Filesize: 80436500 byte
Sha256sum: 9980c705f657ec7de1978e431ba9027d6412d284ec71b41670c56fb4c17e4f2d
URL: available from [<b>bliblubli</b>](https://blenderartists.org/forum/member.php?244247-bliblubli&)

I see excellent renderspeedups also with cuda around 50%

Jens

I’m back; I will open a bottle of champagne when any AMD driver update will work without any issues;)

So I updated the driver, still no fun, same error message and the tons of missing content from the example scenes.

@bliblubli, jensverwiebe. Hi

Testing on Linux. Does the resulting image in classroom scene look the same in this build compared to official blender 2.79 builds? I’m getting something different with lighting, testing 100 samples. Render time is almost the same (03:39.14 vs 03:48.60).
Using CUDA, GTX 960

Edit: Sorry, these results I mention are using Classroom original scenes. I just saw the explanation in message #27. I will do the tests with it. I had not used any tweaks in settings, so you did not take this I had said above seriously.

Have to check over, did not compare exact outcome.
For getting speedups you must use the proposed tweaks, where “scene->simplyffy-> AOBounces Render” is the most significant one.Reuploaded build has no changed functionality btw, just cleaned buildscript and used sha252 for better security.

Edit: confimed “AO Bounces Render” simplfication makes the image a tad darker, looks as slight contrast change
While this might be expected, 'am sure this can be compensated codewise.

Jens

OK:

With the new one I could use it both on RX480 and GTX 1070 (Win 7 64 PRO).
The sample scene still have the issues with missing stuff, I used own scenes.
BTW is it possible to upload the scene with everything packed? Thanks.
RX480 + GTX 1070 works together in Mega Kernel/Split Kernel mode, but I didn’t make any direct speed comparisons yet.

Ok, I’ll read the thread more carefully because I still do not understand. This setting > “scene-> simplyffy-> AOBounces Render” is also included in official builds. Do I have to select any particular value?

I clarify that in my previous test I did it without enabling Simplify.
But again, I’m going to read the whole thread carefully to see what this is about, I just saw that apparently ‘bliblubli’ had published scenes with special configurations. I am testing with official Classroom scene.

I for now tested AO simpl.== 2 and got those 50% speedup.

EDIT: oh, just saw thats in master too now, confusing times …
EDIT2: in master AOBounces Render makes the clock and door windows black, slight darkening is same, but patch is rendering the clock door windows okay.

Ok, testing with my extra huge scene:

GTX 1070 produces error, Blender quits, same with using with RX480 together.

I don’t have time now to make further tests and hunt down what is behind. Tomorrow maybe.

Hehe, no problem.
‘Scrambling distance’ under Sampling settings is the patch that is not in master, but this is in this new build that you have shared.

I just upload this: GTX 1070 MegaKernel produces.


I uploaded all the assets and textures so that the scene work by itself.
@Almatalp, please use OpenCL on AMD Cards, Nvidia cards are known to not work well there. For the 1070, either use the CUDA build from Jens on Linux, or wait for a cuda build on windows.
@YAFU and jensverwiebe, indeed, that will be explained in the docs, but part of the speedup comes from an enhanced version of the AO approx

Added some explanations in first post.

It looks very impressive!

Using a professional scene from chocofur (very good source of assets for architects by the way) I even get renders 2x faster using only my smarter version of the AO approximation:
11minutes with patch and AO approx at 2 only, compared to 22minutes on master:


and how it look in master without the patch and AO approx at 2 or 3:

builds with CUDA, OpenCL and CPU version of the patch are available in early access to patreons: https://www.patreon.com/matmenu

If you donate on Paypal, send a PM here and I’ll give a link to the builds too. https://www.paypal.me/matmenu

and the timings at 1024spp:

Correction: I tried another AO 2.79 version accidentally, this one works on transparent stuff.

Impressive… wonder how it will text on rx480s. eitehr way nicely done bilblubli. wonder how soon that will reach master :wink:

I just tested, speedup is about the same on RX480. The scandinavian scene from chocofur renders in 876sec, which is faster than the RX VEGA 64 using master.
But a much better donation rate is needed for review, documentation, support, etc. I got 5€. Alone for the 3 days of posting images, writing explanations, building, uploading, answering, etc. that’s 1.7€ per day of work.

OK, some results.

I work on a crazy huge interior scene, 80K+ objects (not public yet).
2.5 x 2.5K image render on Win7 64 is more than 12 hours with 2.78c.

I just made some quick tests, using only one 512 x 512 image tile with 3200 samples.
All results uses Camera culling, Light sampling threshold 0.1.

No optimization: 12h 13 min
No light scrambling, AO2: 9h
Light Scrambling 0.1, AO2: 6 h 40 min
Light Scrambling 0.1, AO3: 8 h 10 min

The difference is insane in speed and the output - although it is not identical - seems to be absolutely affordable for these short tests.
In a few day I will have more detailed tests.

It was clearly one of the best donations I ever made, so I doubled my former one. Nice job!

Other thoughts:

  • It would be great to have a detailed explanation of the features, maybe with some case studies, covering different lighting situations (I just saw you already started this, thanks).

Possible future features:

  • I had a custom build formerly with the support of saving viewport renders (screen) as EXR. That would be great in the future; also the possibility to save the actual render before it finishes (like in Vray/Max frame buffer).