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


(bliblubli) #1

Hi,

I made a patch to speedup cycles for interior renderings. I use it since many month in production for archviz and propose to get it in master for everyone to benefit from it. It works for CPU, OpenCL and CUDA rendering. On current master, I get 1.5x to 2x faster rendering with my patch only, depending on the scene and the platform:

Similar gain are obtained by first testers on CUDA.

How does it work?
It’s an optimization of the AO approximation option to react differently on glass, metal, etc. making it usable in many difficult scenes. In most scenes, you just have to set a value to render 1.5 to 2x faster. Depending on your taste and the mood you want to have, you may add a light behind the camera to obtain the wanted contrast.

To better understand, 2 examples:
The classroom scene with only one parameter changed you get a 1.5x faster render:
[ATTACH=CONFIG]495830[/ATTACH]

Using a professional scene from Chocofur, changing one parameter and adding one light (tweaking strength and color in viewport render, it takes maybe 30 seconds to do both action), you render in 11minutes, compared to 22minutes on master:

You could also have changed only the parameter and get the same speedup and higher contrast. It’s your artistic decision.

How can I get it?

The patch will be published for review, so it may be in the next 2.8 version next year. If you donate (see link beneath), you can benefit from it right now. Just give your email and if you want a stable (2.79 release) or master (latest code) build. You will also get the Classroom file configured so that you can see how it’s done.

you can donate here https://www.paypal.me/matmenu

FAQ:

Who are you?
I work on improving cycles for many years now, for my own usage at work (mostly architectural and urbanisme visualizations). But I also provided many builds for free here and the according patches like 2048 max texture in OpenCL https://developer.blender.org/D1530, selective compilation of transparent shadows https://developer.blender.org/D2339 (both in master), https://developer.blender.org/D2340 and https://developer.blender.org/D2341 which brought significant speedups before the kernel rewrite. See https://blenderartists.org/forum/showthread.php?414980-OpenCL-denoising-and-speedup-thread&p=3147092&viewfull=1#post3147092 for example.

Is it only for GPU or a specific card?
No, it works for all CPUs and GPUs supported by Blender. On an I7 6700K, the chocofur scene renders in 35min45 instead of 53min59.

Does it work well with denoising?
It does, even with scrambling and other options. I didn’t use it in pictures above to showcase only the patch. Here you can see a render made in 2min11 down from 21min48 using the patch, denoising and scrambling. Donators can ask for the details.



Will it work in all cases?

It is made primarily for interiors and was intensively tested in still interiors, first test in animation showed it is stable. For exteriors, you may see benefits, but it’s not tested. If you want your money back, just ask it in the first 30 days.

Can you ensure it will be in master?

I can only guarantee my part. Like all developments, even those made by the Blender Foundation itself, it has to go through review first. But I will provide builds to all donators to ensure they are able to use it whatever happens.

What happend if the money donated is too low?

The full patch is released here https://hastebin.com/sexevejaqa.diff, so you are safe already on this side. Donators get the 2.79x (so a,b,c, too) releases with the speedup. On demand, you can also get one build on top of current master (depending on the donation, more custom builds can be done). So the only think that depends on the 3000€ is: do I work further for the community? If you see more patches coming, the answer will be yes.


(AlmaTalp) #2

Make a Patreon page or something like that. I will support you (at the beginning with not too much, but later hopefully more); is your plan 3000 EUR/month, so you would live from this?

I like your concept!


(doublebishop) #3

I would be willing to donate for patch development (not tricks), on the provision you were working directly with sergey / mai / other cycles developers to make sure development patches end up in trunk.


(bliblubli) #4

To begin, I would only fund one month to see how it works. I Like Patreon in theory, but in practice, Jacques Lucke who has a lot of user and does a really great work get 150€ per month https://www.patreon.com/jacqueslucke. It’s about one day of work per month. It’s great when you are student, but now I have a family.
Regarding the work with Sergey and the other cycles devs, I already do nearly every day speak with them on IRC. I already spoke with them about some of the patches. The first 18% are more kind of political decisions. But the main patch (the one at 48%) should go in master as it’s an optimization of the AO approximation. With trick I mean something like what Cycles get all the time (new russian roulette from Brecht, Denoising, etc.). It’s a term for speedups that are changing the final output. Anyway, my patch speedup an existing feature, so should be ok.
The +31% percents are already available on tracker and master. I would provide builds and tutorials.


(BigBlend) #5

Cinema 4d uses cycles now. Maybe if you approached C4D company with the faster build they would give €3000 upfront just to have a faster renderer. They are commercial and do have that kind of money.


(bliblubli) #6

That sounds like a good idea. I thought I would do a favor by doing the job first and then ask for the funding for more security for you. But developing for Cycles has 2 risk. The risk to not success like all project and the risk of rejection from master even if you succeeded.
@doublebishop, I discussed on it on IRC, they don’t want to give any security that it will go into master. Sorry their are things I can’t influence.
Thanks for the tip @bigbad :slight_smile:


(doublebishop) #7

I think as long as the aim is to make it into master and work with the developers to make sure the patches are still inline with their trajectory / code style / road map it will be fine. I wasnt expecting a guarantee the patches would make it in :slight_smile:

Anyway any ideas where you will host the crowdsourced fundraiser?

The other place to look may even be the Blender Institute directly :wink:


(rattle-snake) #8

I like your idea and I will participate :slight_smile:


(bliblubli) #9

I’m speaking with Ton about it right now and send a proposition to Insydium.


(hris) #10

3000 EUR/Month is a lot of money (something about 4 months of work in my country) but i wish You good luck - Cycles is worth that money to get industry speed standard. Greetings and keep up good work :slight_smile:


(bliblubli) #11

@hris, thank you. It may sound a lot, but when you see the prices of housing where I live, you think another way. To get an old raw house with bad isolation in a small town, you have to pay 300 000€ = nearly 1/3 of a million euros… So it’s a lot of years of work, even at 3000/month.


(Roken) #12

Have Maxon said that they will feed back to master, though?


(AlmaTalp) #13

Users should think about this differently: that is 1 EUR for 3000 users. 100-200 EUR saving on a new GPU.


(BlackRainbow) #14

bit more details on patches and tricks would be realy great


(burnin) #15

from what i had observed, i would gladly back you up :slight_smile:


(Jamez) #16

Maxon have nothing to do with Cycles4D. It is a commercial third party rendering plugin by Insydium.


(MmAaXx) #17

cool, when this thing starts?


(cekuhnen) #18

where in Europe are you located?


(bliblubli) #19

South Germany. 33m2 for 260 000€ https://www.immobilienscout24.de/expose/96582213 or lot of m2 for 690 000€ but no photos of inside: https://www.immobilienscout24.de/expose/95358265#/ Reason: you don’t want to even visit if you see the inside.


(bliblubli) #20

I’m discussing conditions right now, I’ll tell what happened as soon as a decision was taken.