Cycles Performance

What about Light Portals? When it was implemented, many people expressed their “Wow!”. Is it currently useful for interior scenes?

Yes a lot! I always use them for interiors, the speed of sampling is slightly slower but the noise is much less for equal rendertime.

I’m sorry, but so far you are the only one bullshitting:

This is simply not true anymore, as I wrote down below in the development thread, the retracing techniques for cached GI got so good in recent years they can now handle any scene, regardless of how dynamic the geometry or lighting is. It’s in fact so good that V-Ray, in recent versions, pretty much relies on usage of cached GI also to speed up direct light sampling, dome light sampling and so on, to the point where pure PT is not feasible anymore.

If you can get more performance and at the same more lighting accuracy yet without any artifacts, why in the world would you not choose that?

I do not dispute it, in fact I acknowledge it in one of my posts in the Cycles Development thread, which you probably did not read.

You can’t possibly be serious about calling me out for bullshit, at at the same time suggesting AO as a replacement for proper GI. This is not even a good joke.

There’s also not such thing as unbiased look. That has been proven on many fronts already. There is a ground truth, but that rarely attributes to making a good looking images. There’s almost no truly unbiased renderer on the market, not even Maxwell.

Do you think Corona doesn’t have denoiser too? So if I get a good result in Cycles in 15 minutes, and I can denoise it to get clean image, I can apply the same denoiser on the result I get in Corona 12 times faster, to make even that cleaner. Denoiser is a divider of a rendertime at the cost of some detail. But you still have a base rendertime to divide, and it makes a big difference if it’s 1 or 12 minutes.

Yes, if you are using AO and ambient light, you can get the results much faster, but at a lot worse quality and accuracy, and there are some scenarios where you can not hide deficiencies of AO and ambient light based workflow at all.

I am having very hard time respecting you after what you wrote here today. You can’t seriously claim I compare apples and oranges and then start suggesting AO as a replacement for GI. That’s like shouting at me I am doping at a bicycle race while passing right in front of me on a motorcycle.

You probably did not even bother to read the post properly, and instead proceeded to glance over every 3rd word and then make your assumption. If you look at the very top, the results clearly show that the pure Path Tracing performance between Corona and Cycles is nearly identical. I did not come here to shit on Cycles. The conclusion of the post was that it may be very well worth to invest some development time in the future to research secondary GI caching for Cycles, because it may result in a performance boost comparable to adding up to a dozen of high end GPUs to your system.

I can quite easily imagine Tangent Animation had relatively high rendertimes for their scenes partially (perhaps even mostly) because of how limited performance pure Path Tracing can deliver in a shots where majority of the rendered surface is hit mostly by an indirect light.

7 Likes

@rawalanche - you clearly never used “AO bounce” feature as i intend it, you’re probably thinking about old 90’s AO replacing GI and making dark occluded areas.

What I said is that you can get a great speedup with AO bounce which is computed AFTER 2,3 or n bounces you set. The value of this AO is really low and without dark corners since you must set to 0 the radius.

Unfortunately i can’t show at the moment my daily job projects as they’re under NDA, but with coming holidays i will try to make a personal scene al let you judge. (without knowing, you would never say there is ANY AO involved)

Do note though, i’m not saying you’re forced to use this method to get reasonable results in Cycles, i’m saying it cut lot of rendertime with the resulting render was 90-95% equal to full global illumination.

1 Like

Aaand it got personal again.

@rawalanche can you provide a download for the scene you used so we can do our own tests?
I’m all for cached GI - maybe it could be tackeled with the next big “Code Quest” after the trasition to 2.8 and the new Depsgraph have stabilized. Even if it’s just CPU supported at the beginning. Maybe Mitsubas code could serve as a reference.

Also VCM could be very helpfull for complex light situations - caustics, interiors etc. Renderman has a very good implementation of it.
It would probably fit better with the existing Cycles architecture since it’s just another Method of Path Tracing. But I know too little about the underlying Math to judge this.

3 Likes

Sure, here you go. You will have to put in your own HDRI since I can’t share it. However, if you touch nothing else than the HDRI texture path, you’ll get 1:1 result. Both scenes are set up with the exactly same conditions, e.g. pure Path Tracing, Max ray intensity of 10, max ray depth of 12, gray diffuse material.

As for the VCM, it helps in some cases, especially with caustics, and also a bit with indirectly lit surfaces, but it’s still nowhere near the efficiency of cached GI.
TestScene_Max.zip (2.8 MB)

TestScene_Blender.zip (4.1 MB)

But these threads usually end up with every expert posting their own “special” setup with ridiculous workarounds and compromises, which often loses the point. It’s not about if you can fake something with AO and ambient light to get speed up. This thread was primarily intended to show how much value cached GI has, especially these days, when it can handle dynamic animations.

5 Likes

Man, it’s not about ridiculous setups nor faking stuff, it’s a check box and a value slider. The result is nearly 1:1 with full gi.

Two days ago you were sure cycles vs corona would have lost tremendously even with PT vs PT. You tested and it’s not true, so maybe you can consider the fact you are not the mega master of all the render engines out there and try to listen to others too?

You are asking for a feature i asked for 4 to 5 years ago, i know it would be helpful for lots of users including myself, spoken with Brecht multiple times, got Lukas Stockner making a rough patch with IC which he tested with scenes i provided…so do not give for granted every cycles user is a blind amateur and a fanboy and never used other engines.

The topic is cycles performance and whitin latest years of working with it i found how to get comparable if not better results compared to commercial renderers, with totally fine render times for clients. (Tens of minutes for printing ready resolutions). Im obviously speaking about still images, archviz and similar, not animated feature films.

If you don’t want to go further with tests to make cycles faster, and keep asking for cached secondary rays, is up to you, I won’t stop it for sure.

1 Like

What? I don’t get why you keep making it so personal. If you take a look at that thread, without any emotions, you see following: I did a test some years ago, and made an assumption based on that. I used that assumption to make estimates. When I encountered skepticism, first thing I did was to re-run the test using as controlled conditions as possible, and then I immediately posted the results, simply admitting that my previous assumption was incorrect, and I adapted a new assumption, which I also presented right at the top of this thread - that pure Path Tracing performance between Cycles and Corona is very similar.

I did exactly what an adult, intelligent person would do. I approached it with open mind and had absolutely no problem admitting my assumption was wrong and changing my mind.

Again, this is not a childish race of who requested that feature first. The fact of the matter is that today, there is still no secondary GI caching in master branch of Cycles. And another fact is that secondary cached GI is very beneficial. That’s why I made this thread. It’s not about what once was, but about what could be beneficial in the future.

On a sidenote, if IC you are referring to means Irradiance Cache, then that’s mostly used as a GI method for primary rays, not secondary ones. And caching primary GI rays is indeed not stable in animations, so perhaps you are misunderstanding what I am requesting. I am not in any way proposing GI caching for primary GI rays.

I’ve posted my scene just one post above. Feel free to grab it and post comparison between pure PT and your setup. If it’s not significantly different to the pure PT setup, then I have no problem in accepting it as a good solution. I would off course then proceed to try it on various different use cases, but if it holds up, then why not.

2 Likes

Trust me, it’s not about the childish race about who first requested, i wanted to explain that I’m totally fine if cycles would get a proper cached gi, to make clear you’re not disputing with a guy which doesn’t know how nice it could be.

About primary rays, no, i actually made clear only for secondary ones, similar to brute force + light cache in vray, or the hd cache in corona.

I will try the corona bench scene converted to cycles as soon as i can in coming days. Of course it won’t match the 3 minutes from corona with hd cache, but that’s it’s nearly impossible considering how different are the two methods

I tested the scene, here the information :
resolution 1280 x 720 at 70% ( rendering on my laptop )
Hardware: using both i7 4720hq + gtx 920m

Color management : filmic with base contrast
The hdri is from HdriHeaven here’s the link

i use the 2k version and i rotated it at 240° on the z axis and i set the saturation to 0 with the hue saturation node

light path : Bounces at 12
samplings : 512

the first render is without the simplify feature

!

now with simplify set at 2 bounces & distance 0

3 bounces

4 bounces

if you compare the the first render and the last one you could see that the second one have brighter shadow and less render time and maybe a little less noise ?

I got the same hdr as rawalance so we can compare a little better, i was wondering though, @rawalanche how many samples you set for the very first cycles render? Need to test same noise level.

The HDRI rawalanche used is currently free for download
http://illuminatedtools.com/freeprobes/ext_LateAfternoon_Mountains_CSP/

With the setup i usually do for my interiors, i got this done in 4:00 minutes (same resolution of rawalance tests) with a gtx1080. (not Ti, with your 1080Ti you can get this done in 3 minutes i suppose, same time as HD cache)

IMHO, the slight difference to ground truth is more than welcome considering the huge difference in rendertimes.

HD cache example is more noisy but that’s because i used a little of denoise, the render was quite clean though.

Hi.
Since the scene has no textures with fine details, I would recommend not using denoising in any of the tests.
One question, do the other render engines Clamp indirect ligth somehow in those tests?

Alright, let’s not use denoising, that completely defeats the purpose of any comparison.

I mean, this is not a war of denoisers, and if Cycles had to compete with the Corona one, it’d probably lose (especially in scenarios with advanced textured materials, refraction, MB, DoF and so on). If I throw Corona’s denoiser on 1 minute render with PT+UHD, I’d get this:


Keep in mind this would be 20 seconds on Threadripper 1950x

The difference from ground truth is unfortunately a bit too much for my taste. It actually heavily modifies scene lighting. Also, I can easily come up with several scenarios where the solution breaks completely. And in production, you need universal solution you can rely on.

But regardless of that. Let’s say that we would compare your non-Ti GTX1080 to something like Threadripper 1920x (comparable price and generation) running renderer with cached GI. Then you would get your 4 minutes where as 1920x would get around 30 seconds. That’s still a speed up factor of 8x. I would have to add 7 more GTX1080’s to the system, then I would have to use technique compromising lighting accuracy, and on top of that I would still be bound by very small VRAM amount.

On top of that, here is a GIF with a difference between Cycles’ pure PT and your AO trick:
PT_vs_AO

And here’s how much difference switching secondary GI from PT to cached one in Corona makes:
PT_vs_UHD

While your trick is already modifying scene lighting (and as I said, I can come up with scenarios making it more obvious, and those actually appear in production), you can see that caching secondary GI in Corona only adds little more light bounces in hard to reach areas in the curtain folds.

1 Like

Well there are some arguments that needs a bit more explanation, i don’t have very much time today but here is a summary that IMHO should be considered:

  • it’s not completely true that denoiser should be avoided completely, Cycles can also denoise just indirect rays smoothing out GI while preserving all the direct rays and thus all the texture details, IMHO that’s a much closer behaviour to hd cache compared to full brute force tests, hd cache is really accurate but still, it’s an interpolation of fewer samples…
  • Your example of corona denoised render has completely removed the floor planks while Cycles preserved them, so the amazing render time is quite biased because too aggressive denoise
  • whithin october, new series of Nvidia gtx will start to hit the market, giving a new boost in performance and more memory available (i would not be surprised if 1180Ti will be equipped with 24 or 32 Gb), while CPUs won’t get the same boost in the very near future

I’d like to elaborate more but i can’t at the moment, all in all i wanted to show that Cycles is capable of clean outputs in very reasonable amount of time, it’s faster than Corona with HD cache? No it’s not, but that was quite a no brainer in the first place…it’s Cycles an order of magnitude slower than other engines? Nope it’s not

Can Cycles deliver high resolution images for clients in a resonable amount of time? Yes, these are the conclusion i tried to explain because i face with them everyday, just this.

Cycles speedups and optimizations are more than welcome but i don’t think a big project like corona hd cache could hit Cycles in the next year. That was my other point

2 Likes

Cycles is aimed primarly to studios doing animations and PT “Arnold style” is superior for such target

Having produced a full animation series with Corona I can tell you that it does this job very well. The Cache reduced render times massively and handled complex animations with very few issues ( every engine has issues )

With regards to de-noising, people seem to think its some sort of magic bullet, It really isn’t you always loose features and introduce funny artifacts. Once you’re in full production you want something that solidly delivers, I haven’t personally seen de-noise do that in animation. Its a fantastic tool for getting rid of the last little bit of grain or doing a quick 1 off render. I recall having a chat with one of the Arnold engineers and they told me denoising wasn’t even on their radar, they were focusing on better sampling. ( they also did a demo using Suzanne which gave me a giggle, I presume brecht was behind that).

3 Likes

Implementing something like UHD cache would be great but I think it should be done with the GPU in mind even if it means couple of years for it to be done… it makes everything so much more complicated to implement but doesn’t cause inconsistency. Cycles is more GPU than CPU oriented and cache would be a big step comparable to denoiser.

Are you sure? I think CPUs got a much bigger boost in the past 1 year than GPUs.

It was true from like 2012-2017 when Intel was kind of sitting on the throne and getting fat.

But recently you must have noticed that AMD pushed the limits and suddenly the race is on.

I actually agree, I’ve just seen nvidia keynote summary, really disappointed about the 2080ti being just 11gb and crazy prices…new Quadro series are very interesting (up to 96 gb with Nvlink) but prices are not for everyone certainly.

the 2080 also support Nvlink