Author Topic: Corona_VS_Cycles  (Read 12731 times)

2014-07-04, 15:56:33

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
I did some simple test with indoor scene with 3 planes with light material, angle in Blender is bit different but the light is nearly  same in  Cycles and Corona


The GPU rendering is still much faster over CPU.
« Last Edit: 2014-07-04, 16:03:32 by raylight75 »

2014-07-04, 16:01:12
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile

2014-07-04, 16:04:14
Reply #2

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
Yeah image uploading is a hard task

2014-07-04, 16:21:45
Reply #3

Juraj

  • Active Users
  • **
  • Posts: 4079
    • View Profile
    • studio website
No it isn't.

Even your example is far from fair. A single most eye-clashing variable is choice of hardware.

i7 950 is 5 years old middle-class CPU ( 350 euros when in arrived ) with passmark score of 5000. Modern high-end CPU of last year, 4930k costs 500 euros and would yield close to 15 000, 3times the performance.
GTX780 is last year almost top model (Ti would be equivalent of 4960X, both having only slight performance margin due to higher clock, but massive price increase), and you 2 of them.

If we would correlate this to your current scene, a fair comparison would be two 4930k (even though stacking 2-4GPU is of course easier).

This of course doesn't take into account many other variables, such as scene optimization, user's knowledge in setup,etc.
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2014-07-04, 16:46:54
Reply #4

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
No it isn't.

Even your example is far from fair. A single most eye-clashing variable is choice of hardware.

i7 950 is 5 years old middle-class CPU ( 350 euros when in arrived ) with passmark score of 5000. Modern high-end CPU of last year, 4930k costs 500 euros and would yield close to 15 000, 3times the performance.
GTX780 is last year almost top model (Ti would be equivalent of 4960X, both having only slight performance margin due to higher clock, but massive price increase), and you 2 of them.

If we would correlate this to your current scene, a fair comparison would be two 4930k (even though stacking 2-4GPU is of course easier).

This of course doesn't take into account many other variables, such as scene optimization, user's knowledge in setup,etc.
I doubt thath you  will go down below 60-90 seconds even with 4930K, and you need dual socket MB another 500ЕU, 2 780GTX cost 920ЕU your opinion 1500ЕU.

2014-07-04, 16:55:04
Reply #5

DeadClown

  • Global Moderator
  • Active Users
  • ****
  • Posts: 1445
    • View Profile
    • racoon-artworks
Well, who cares anyways?
It's a simple scene with a simple task (imho a car rendering would be even better). GPU looks fast, cpu looks slow, even if you'd be using a modern cpu. Unless you're pushing the limits I don't see any need for cpu - gpu comparisons. If you do stuff like that, go with the gpu renderers, if you want to do massive texturing, use 3dsmax plugins or just don't want limited features caused by crappy cuda programming - go with cpu.
Simple as that.

[edit] just to make things more clear about cuda: Chaosgroup is recompiling their cuda gpu render code on-the-fly every time you start it to be able to keep things fast - "no hair? drop the hair code... no moblur? drop the moblur code" - so if you really need everything, e.g. a character with moblur and hair and sss and... it's as slow like wet bread.
Cuda doesn't even support recursion... madness!
« Last Edit: 2014-07-04, 17:03:31 by DeadClown »
Any sufficiently advanced bug is indistinguishable from a feature.

2014-07-04, 17:14:51
Reply #6

lacilaci

  • Active Users
  • **
  • Posts: 755
    • View Profile
if you wanted to compare cycles and corona, you should use cycles in cpu mode...

And on the performance gpu vs cpu.. How much wattage does that cpu draw off the wall and how much do those 2 gtx 780?

But yeah, if gpu rendering works for you and cycles works for you then it's fine...

2014-07-04, 17:32:39
Reply #7

rambambulli

  • Active Users
  • **
  • Posts: 160
    • View Profile
if you like gpu render engines keep on using it.
Stop comparing if is doesn't improve or inspire in a better corona workflow/end result.
Otherwise it is starting to become a like a diesel - gasoline discussion, which one is the fastest.

2014-07-04, 17:44:57
Reply #8

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
Wow I do not make comparisons just simple test with 2 pathtracing engines, so do not blame me ок..
DeadClown I know that for Chaos but the point of this thread was, do you have plans to make even with this problems GPU Support.

2014-07-04, 18:16:07
Reply #9

DeadClown

  • Global Moderator
  • Active Users
  • ****
  • Posts: 1445
    • View Profile
    • racoon-artworks
Wow I do not make comparisons just simple test with 2 pathtracing engines, so do not blame me ок..
DeadClown I know that for Chaos but the point of this thread was, do you have plans to make even with this problems GPU Support.

Sorry, but these threads are predestined to get a little bitchy I guess, just don't take it personal ;)
As stated on the main page (www.corona-renderer.com FAQ, bottom) there is no intention to make corona using gpu(s).
Any sufficiently advanced bug is indistinguishable from a feature.

2014-07-04, 18:28:15
Reply #10

Juraj

  • Active Users
  • **
  • Posts: 4079
    • View Profile
    • studio website
The GPU rendering is still much faster over CPU.

Well, you stated this conclusion, and that simply isn't true. Not in all conditions. A super fast scenario with unparalled hardware doesn't prove that.


Anyway, check this article to get realistic estimates for high quality production scene rendering using GPU-renderer iRay.

http://blog.irayrender.com/post/86984047311/from-2d-to-photoreal-making-of-by-delta-tracing


The final rendering production, is made by an 8 NVIDIA Tesla C2050 GPU system which renders a 5k image in about 3 hrs & 30 sec.



{Tesla C2050 is Fermi-architecture based equivalent of GTX480 in terms of raw processing power}

There is no magical solution on market that will give your high-quality photorealistic interior in high-resolution a few minutes rendering times. All the professionals are rendering stills in matter of hours.
I've been using Octane since alpha, one of the fastest unbiased GPU rendering engines on market (much more evolved than Cycles) and it is not...anyhow faster in actual production that CPU counterparts.

Unless we're talking rotating cars. Then it's 7 million times magically faster.

talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2014-07-04, 18:55:20
Reply #11

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2562
  • Just another user
    • View Profile
    • My Portfolio
He could simply switch secondary GI in Corona and Cycles to cach...   oh, wait! :D

2014-07-04, 19:20:25
Reply #12

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8913
  • Turning coffee to features since 2009
    • View Profile
just... wow.

Suddenly something smells like hairy spheres in here ;)
« Last Edit: 2014-07-04, 19:26:06 by Keymaster »
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-07-04, 19:37:44
Reply #13

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
just... wow.

Suddenly something smells like furry balls in here ;)

Yes Brecht van Lommel did good job for Cycles and he now will  be working for Solid Angle( Arnold)
Anyway Corona is a very good render for now еspecially by a team of two people, if you add support for  smokes, layered shaders, hair and other things will see.
And don't be ironic i will be you future client:))

2014-07-04, 20:44:08
Reply #14

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8913
  • Turning coffee to features since 2009
    • View Profile
He obviously knows his stuff, I would put cycles into TOP5 end-user renderers right now. But that still does not make this particular comparison fair. I understand this is the hardware you have, but you cannot just make sweeping generalizations like that. Especially in places filled with fanboys ;)

BTW: we are 3 now. Just today I started to initiate Jarda into the core code ;)
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-07-04, 20:46:45
Reply #15

tomasd

  • Active Users
  • **
  • Posts: 19
    • View Profile
Cuda doesn't even support recursion... madness!

Caught my eye, so.. this one thing doesn't really matter. If you need recursion in your renderer, you are doing it wrong anyway.

2014-07-04, 20:55:14
Reply #16

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8913
  • Turning coffee to features since 2009
    • View Profile
Corona is doing it wrong, then ;)
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-07-04, 21:09:26
Reply #17

tomasd

  • Active Users
  • **
  • Posts: 19
    • View Profile
Corona is doing it wrong, then ;)

Well, fix it then :-)

2014-07-04, 21:16:28
Reply #18

Captain Obvious

  • Active Users
  • **
  • Posts: 168
    • View Profile
Recursion is pretty standard in rendering. But with Fermi and beyond, CUDA supports recursion just fine (supposedly). OpenCL doesn't, however. Apparently you can do it manually by creating a stack, but it seems pretty roundabout.

2014-07-04, 21:23:25
Reply #19

Polymax

  • Active Users
  • **
  • Posts: 830
  • CG Generalist
    • View Profile
    • maxkagirov.com
what about many 16K textures + 24K HDRI in scene with GPU?
and can you post the scene? I will try setup and render on 4960х(4.5ghz)+ i7 980 (4ghz)
« Last Edit: 2014-07-04, 21:28:52 by Polymax »
Corona - the best rendering solution!

2014-07-04, 21:29:16
Reply #20

tomasd

  • Active Users
  • **
  • Posts: 19
    • View Profile
Recursion is pretty standard in rendering. But with Fermi and beyond, CUDA supports recursion just fine (supposedly). OpenCL doesn't, however. Apparently you can do it manually by creating a stack, but it seems pretty roundabout.

Recursion on GPU, especially if it is in a conditional, is never a good idea.
But even on CPU an explicit stack is often a better idea than recursion.
Function calls are not exactly cheap and if you have a reasonably light-weight function body (e.g., in ray casting), you should avoid recursion.
It cannot really be inlined (quite obviously), the function call will have to flush registers into memory, load function parameters into the registers, set stack and frame pointer and jump. If you have an explicit stack, the compiler has a much better visibility over the whole process and can, for example, make sure that some values that are used all the time (e.g., inverse ray directions) are kept in registers.

Admittedly, the basic path tracing can be written recursively without any really measurable impact (as the body usually does a TON of stuff), but then again, it is generally as easy to write it explicitly and it is not really roundabout.

For the record, the renderer used in the original VCM paper does not use recursion. :-)


Ad big textures: Yeah, big data kills GPU (this paper tries to address is, but the memory is always an issue on GPU: https://mediatech.aalto.fi/~samuli/publications/laine2013hpg_paper.pdf )

2014-07-04, 21:33:38
Reply #21

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8913
  • Turning coffee to features since 2009
    • View Profile
Corona VCM does not use recursion and it still sucks :D
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-07-04, 21:40:24
Reply #22

tomasd

  • Active Users
  • **
  • Posts: 19
    • View Profile
Corona VCM does not use recursion and it still sucks :D

Well, yeah. I am really really curious about the practical usability of the PRMan implementation. And 19 will be free for non-commercial use, so I hope there will be a lot of feedback. The scenes they had in the fxguide article were pretty much like the scenes we had in the paper. No surfaces not visible to camera, so all photons generated contribute in one way or another.

2014-07-05, 18:13:43
Reply #23

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile
Raylight, could you post all the render setting that you used in Corona and Cycles? I don't know much about Blender and Cycles but I do know Cycles is somehow adaptive - you can set stuff like "min/max bounces" so it would make it more biased.

2014-07-07, 11:05:11
Reply #24

raylight75

  • Active Users
  • **
  • Posts: 9
    • View Profile
Raylight, could you post all the render setting that you used in Corona and Cycles? I don't know much about Blender and Cycles but I do know Cycles is somehow adaptive - you can set stuff like "min/max bounces" so it would make it more biased.
Yep no problem but there is no big difference between settings, if you have a littlle biased settings the difference is 15-20% maybe the time is could be 15sec.

2014-07-07, 11:14:13
Reply #25

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 9978
  • Marcin
    • View Profile
And Corona settings.....?

All I can tell for now:

-you have 128 PT samples per pixel in Cycles - how much did you have in Corona? 16 and LSM 2?
-you have max bounces set to 128 and min to 3. In Corona you don't have such adaptive settings. If you were using defaults, it would be 25 bounces.

2014-07-07, 13:13:09
Reply #26

Captain Obvious

  • Active Users
  • **
  • Posts: 168
    • View Profile
-you have max bounces set to 128 and min to 3. In Corona you don't have such adaptive settings. If you were using defaults, it would be 25 bounces.
I'm pretty sure Corona has Russian roulette termination of bounces as well, actually.