Author Topic: VRay vs Corona (yes, again) - SCENE INCLUDED  (Read 22323 times)

2015-05-20, 12:01:34

cecofuli

  • Active Users
  • **
  • Posts: 1491
    • View Profile
Hello,
yesterday, for fun, I tried to create a simple interior scene.
I know, it isn't so complex, but with white walls and some glossy objects, it looks interesting and easy to debug.
I wanted to compare the noise level between VRay 3.0 (QMC + LC) and Corona (PT+HD)
My goal was to keep the render time below 10 minutes.
What do you think?

You can download both *.MAX SCENE, optimized for 9 minutes



2015-05-20, 13:12:29
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9058
  • Marcin
    • View Profile
Without too much fanboyism ;) I would justify it by saying that V-Ray is much more biased. There are also some visual differences (reflection on the top teapot for example). And for example, what was the total supersampling in V-Ray and Corona? V-Ray is adaptive. Etc etc etc.

Trying to optimize the Corona scene further sounds like an interesting exercise!

2015-05-20, 13:37:09
Reply #2

DeadClown

  • Global Moderator
  • Active Users
  • ****
  • Posts: 1439
    • View Profile
    • racoon-artworks
I'd say it's a good example of someone who actually knows how to set up vray ;) As you can see in the renderstamp, adaptivity is making the difference here (2-64). Subdivisions are set up properly, so vray saves a lot of time that corona is spending on pixels for more or less no visual difference. Imho that has nothing to do with bias.
The images you made here are reflecting my experience: If you really know how to use vrays adaptive dmc sampler you will probably always beat corona in noise levels.

If you use the fixed sampler in Vray and kill the dmc, Corona will be faster in pure path tracing speed (pt + LC/UhdCache) - which obviously doesn't make any sense.
« Last Edit: 2015-05-20, 13:40:43 by DeadClown »
Any sufficiently advanced bug is indistinguishable from a feature.

2015-05-20, 13:47:11
Reply #3

cecofuli

  • Active Users
  • **
  • Posts: 1491
    • View Profile
Maru, no fanboyism in this thread, please, ok?
You can see small differences between reflection and refraction because I didn't spend time to teaching the different shaders. But, this isn't the problem.
The problem is in the level of noise. It's so clear.
You are right, V-Ray is adaptive. But, Choasgroup did a good job with VRay 3.0 and QMC.

Yes, it's a good exercices. But, how can we optimize Corona? =) We have not so much parameters to "touch"
In VRay we can play with AA, subdivs, noise threshold, etc...

But, I prefer to work with Corona, also if it's a little bit nosier than VRay. Why?
Because I'm always sure about it's quality. And I have no to fight hours (yes, hours) to get a better ration quality/time.

2015-05-20, 13:49:30
Reply #4

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
I think it's really good example. Just one thing that came to my mind. Did you enable reflective and refractive caustics for GI in Vray? Under teapot you can see reflective caustics in Corona render, but you can not see them in Vray render. Reflective caustics can generate a lot of noise :)

2015-05-20, 13:51:25
Reply #5

cecofuli

  • Active Users
  • **
  • Posts: 1491
    • View Profile
DeadClown: I already spoke with Ondra, and he said me your same conclusion.
Rawalanche: no, you are right! I forgot (refractive GI caustics  is ON by default). I do it and I'll post the render.

Also a question. The teapot in the ceiling (Corona Version) seems that flights. There is no shadows. Isn't strange?
« Last Edit: 2015-05-20, 13:56:20 by cecofuli »

2015-05-20, 14:00:01
Reply #6

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
Also a question. The teapot in the ceiling (Corona Version) seems that flights. There is no shadows. Isn't strange?

Yes, that's because the glass material in Corona has disabled caustics, and therefore generates transparent shadows. It's similar to "affect shadow" refraction option of VrayMTL. It just does it little differently. Just enable caustics for glass and you will have the same result :)

2015-05-20, 14:13:05
Reply #7

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
OH, i found one thing that can make HUGE difference. In Vray, you use light portal with Simple mode. This means that the light portal ignores everything that is behind the window, and instead projects light straight from environment map. Where as in Corona, light is actually physically bounced from the ground plane you have outside, which is a lot more expensive to compute. So to make comparison fair, either disable simple mode for Vray portals, or remove exterior ground in Corona scene.

2015-05-20, 15:04:15
Reply #8

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
Okay, so this is the approach i used:

First, i opened the scenes and rendered them exactly as they are to compare relative performance of my computer VS yours:

Vray version on my PC clocked at 5m 32s


And Corona version did at 6m 52s while also being noticeably noisier:


Now, i did following steps to unify conditions for both renderers so we can do objective comparison:

In Vray scene:
- Enabled Reflective caustics to match scene difficulty closer to Corona
- Enabled Reflect on backside option in refractive materials so that Vray computes internal reflection same way as Corona.

After these changes, Vray render took 6m 45s while noise level remained pretty much the same:


In Corona scene:
- Removed ground plane to match scene conditions to Vray SkyPortal simple mode
- Decreased blue glass refraction glossiness to better match vray
- Increased skylight turbidity to better match Vray sky model
- Enabled refractive caustics to better match the vray render

And i did also following steps in attempt to optimize Corona:
- Redone portal lights to be sure they are placed correctly
- Used bucket renderer to take advantage of adaptivity
- Decreased MSI to 10 (We don't have as many options to tweak speed as Vray, but we still have some like this one :))

The resulting render took 6m 34s (about 10s less than Vray under identical conditions) and achieved very similar noise level to Vray output:


Scene file is attached as CoronaBetter.rar

EDIT: Also attached 2012 version of the scene as well. I hope it won't mess up settings.

2015-05-20, 15:33:22
Reply #9

cecofuli

  • Active Users
  • **
  • Posts: 1491
    • View Profile
About my scene, I just

VRAY SIDE:
- disable  SkyPortal Simple option
- Enable reflective GI
11 min 30 seconds

CORONA SIDE:
- reduce blue glass glossiness
11 min 32 sec

I didn't take care about color sky (no influences on noise level)
I forgot to enabled refractive caustics on glass material to better match the VRay render. But, I think, the impact on noise level is not so much.
I didn't want to delete the ground floor, because, usually, in real project, I have it.

With your nice test we can see how a Corona Bucket render and his adaptability can help a lot Corona.








2015-05-20, 15:35:03
Reply #10

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
Could you try my scene? Without any modifications, just render it as is. It's attached below my post.

EDIT: Here's also scene with ground plane added back.
« Last Edit: 2015-05-20, 15:48:37 by Rawalanche »

2015-05-20, 16:06:17
Reply #11

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9058
  • Marcin
    • View Profile
Here is my attempt. I don't have V-Ray so I just checked how long it takes to render the original Corona scene "as is" - 07:08 and then tried to optimize the settings.

I did the following:
-disabled render elements - didn't seem to change time

-set pass limit to 50 (do we really need 110 here?), MSI to 10, and adjusted gi/aa and lsm to have similar noise level - 05:09

-set pass limit even lower - 32 - and adjusted gi/aa and lsm again - 04:15
-set MSI back to 20 to see what time difference it causes (because it clearly changes appearance) - 04:28

Maybe there is slightly more noise than before so it would require a bit more GI samples, but a jump from 7 to 4,5min is pretty big, right? If you are using adaptive supersampling in V-ray (2-64), then why set it in Corona to 110 passes? Also, I guess you didn't use default settings in Vray, and you used defaults in Corona - this is a bit unfair. I was kidding about the fanboyism in the first post, but please correct me if I'm making some stupid mistakes here.


2015-05-20, 16:09:05
Reply #12

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
Well, you mainly moved the camera out of place. So now a lot more space is occupied by very easy to compute gray material, and those computationally expensive glass materials take a lot smaller area of the overall frame. That can shift the results significantly.

2015-05-20, 16:12:54
Reply #13

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9058
  • Marcin
    • View Profile
FFFFFFFUUUUU, sorry. This is because I don't have Vray and the camera loaded upside-down, I had to create a new on in the same place and rotate it. Could some good soul re-save the scene with a standard camera?

2015-05-20, 16:18:27
Reply #14

DeadClown

  • Global Moderator
  • Active Users
  • ****
  • Posts: 1439
    • View Profile
    • racoon-artworks
Maybe there is slightly more noise than before so it would require a bit more GI samples, but a jump from 7 to 4,5min is pretty big, right? If you are using adaptive supersampling in V-ray (2-64), then why set it in Corona to 110 passes? Also, I guess you didn't use default settings in Vray, and you used defaults in Corona - this is a bit unfair. I was kidding about the fanboyism in the first post, but please correct me if I'm making some stupid mistakes here.

Sorry to say that but this is exactly why those threads always become useless after a short while.
If you'd really want to compare Vrays 64 max to corona you'd have to increase corona passes to 4096 - vray's is subdivision, thus 62^2  = 4096 passes (reachable maximum). So much for fair comparison. Vray's strength is adaptivity, and none of the "possible" improvements posted here to make corona faster are actually making any sense if you want to compare it 1:1 (whatever this should be).
If you really want to make corona so much faster, decrease the albedo to a bare minimum and crank up the exposure, wouldn't make the discussion much worse...
And btw, using defaults are useful for a settings-limited renderer like corona but you cannot expect anyone to use vray defaults (for reasons vray users know).
Any sufficiently advanced bug is indistinguishable from a feature.