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

I would also donate to this cause, 1€ isn’t that much, or even 5€ monthly, that’s basically the price of two beers. Until it’s done. Problem is donating monthly all over the place, in a perfect world I wish projects like this could go through the foundation.

Getting additional funds for 12-24 months wouldn’t probably be an issue, with companies already connected to the foundation making money using Cycles for rendering.

Wish you best of luck! And would love to see side by side scenes comparisons (render-time stamps).

And holy shit, you’re at Stockholm levels on the real estates. It’s insane. South Germany is the expensive part of Germany, I base that solely on my knowledge of the football team Bayern Münich.

I would be happy to donate as well.

Only thing that makes me slightly uncomfortable is that there are RIGID goals. For many the Speed is not the issue as much as lack of some feature. You can always wait a few minutes longer, but if a feature is absent then your hands are tied.

From that point of view I would feel much more comfortable for the goals to be broken into SMALLER parts and diversified. For example:

Note: there are 33 pages of Cycles related ideas on rightclickselect (sadly unsortable).

This is highly subjective of course, but I just feel that if you break down goals and have sub-budgets that fairly compensate for your time, then funds can be raised to meet what is most important for users. I would feel most comfortable also with Pledge’ing like it happened with gooseberry, so funds are only taken if a feature gets go-ahead. That way many would feel comfortable pledging a bit more. I will note though that I am ignorant on that matter.

If someone is looking for money for optimizations that have already been implemented, it kind of makes sense that those goals are rigid.

I can agree and support that position. Fear is that not all optimizations will end up in master, at least not without heavy back and forth. This is a complex area. After all a month of work is still needed and asked from users to be subsidized. To meet this goal I simply suggested that perhaps he can focus on best parts of his optimizations that are likely to end up in master and use the available time to offer users some feature that he can with his knowledge. For example not-clearing framebuffer is a marginal thing compared to what these guys are doing. Still the feature has one of the highest rating on rightclickselect. I would back that over openCL that has no relevance to me currently. There was a comment that pointcloud rendering integration is about a week including documentation. Perhaps AO node (like VrayDirt) is possible? Whatever is realistic(within that month) and appeals to users is likely to result in pledges. Of course I am highly ignorant on this matter, only hope critical threshold is reached for this to materialize. I am more than happy to support whatever direction is taken.

i dont think we ever had speedups in render time like 50%… so is this real or is it a wish / hoax ?
To me the graph seams a bit too bolt statement.

So i kinda doubt if this is possible since a whole team of people is working on cycles and then suddenly someone new speeds up like around 50%. Are you into assembler or what ???

Or is there a catch, is it specific towards GPU or even a specific GPU ?

As I already said, the first 18% are OpenCL specific, the second speedup work on CPU and could also work on CUDA if I had a card, the last speedup is knowledge of existing feature/patches (so a better configuration of the file) to further reduce render times with tricks.
For the barbershop scene, Sergey got a 10x speedup. It’s about profiling a scene, looking what the time is spend on, thinking about and trying different modifications to reduce that, and then selecting the modifications that pay.
So I did like the Blender Institute does, use production files in architecture, to bring enhancement where needed, based on client needs. Interior renderings are a week point (also it has already been improved) of Cycles, so I concentrated on that. The good side for you is that you get the production used for profiling paid by the architecture company and you are able to only pay the development part.

Ok, the diff is here https://hastebin.com/sexevejaqa.diff
the file configured is here http://www.filedropper.com/classroomgpuspeedup3scenes . It has 3 scenes, the original one, one using only my code, one using my code plus a modified version of the scrambling patch by Lukas Stockner, all configured so that you can learn from it and do the benchmarks.
If you want me to have time to go through the review process, do the documentation and have time to do further coding for Blender, you can donate here https://www.paypal.me/matmenu
The goals are reached, so it’s up to you now :slight_smile:

Thank. I downloaded it, but it says ‘cannot load kernel’, also many missing stuff for the scenes.
I was only able to select my AMD RX 480, no CUDA option (if I remember correctly, Lukad had a CUDA option for his trick, too).

Hi, the cuda kernels are not in the build, but it works if you build it yourself. I have no CUDA cards on the current PC, I’ll upload new builds with CUDA kernels when I do.

I see. I cannot make builds myself, anyway it does not work on my AMD card either.

I asked on IRC for CUDA timings: with Linux Mint 17.3 - i7 5960x @ 3.6 - GTX 980ti + 2 * GTX 1080 and classroom (modified to use my part of the patch only, but not scramble or the other tricks):
without patch: 01:34.54
with it: 01:01.30

@Almatalp Did you check only the RX 480 in the system panel? Do you have the latest driver? What is the error?


It is not the latest driver, but works well with 2.79 RC1. AMD driver update is always risky, I try to avoid it as much as possible wjen I’m on a project.

Strange, it comes from the bevel patch. I forgot to remove it somehow. But it works on my RX 480… I will upload a new build without bevel shader patch.
3min30 on the RX480 using latest driver 17.8.1 and build downloaded from link in first post to be sure. New build without bevel is on it’s way.


Thanks. Isn’t it possible to offer CUDA as well?
Was the bevel shader a GPU-one?

It is possible to offer a CUDA build as well, but not on my current PC, will post as soon as possible. If someone else manage to do it in the meantime, it’s welcome :slight_smile:
In the meantime, you can test on CPU, speedup is also there.
Regarding the shader, yes it works on GPU, so a reason more to update driver, it works on RX480 for sure.

Bei the way, OpenCL rendering works on NVidia cards too on Linux, another dev just tested it. So it may work on Windows too.

Edit: build without bevel: http://www.filedropper.com/cyclesspeedupv2

Great. I risk the update then, because the Bevel shader is something I’m interested since years on Blender.

On Win I could select only the RX 480 (CUDA option is not there, maybe in dev mode, but I cannot recall now how to get there).

Dev mode: spacebar, typer ‘debug’, select debug menu and type 256 in the popup. Then it’s the last part of the render panel. But if you manage to render with both brands at once, you would be the first one I think?