Author Topic: VFB updates cause low performance in high resolutions  (Read 6248 times)

2017-07-10, 08:39:37

Behrendt

  • Active Users
  • **
  • Posts: 28
  • I'm a freelance 3D Artist from Cologne/Germany
    • View Profile
    • My online portfolio
Hi guys,

are there any tricks for rendering high resolutions? I tried the latest daily build and also alpha 6.3. but both seem to be slowing down a lot when rendering big images.
2000px - 100 passes - 30 min - so I expect 8000px will be taking 8hrs, because its 4*4 - 16 times the pixels to calculate.
But after 8hrs its only at 62 passes - so it's a slowdown of nearly 40% which is really devastating for huge images.
There is no displacement in the scene, RAM is far from being full (25GB/64GB) so CPU workload is also 100% constantly.
Am I missing something here? Do I need to optimize rendersettings for higher resolutions? Is this a known bug? Because I would at least expect a linear progression for the amount of pixels to be rendered.

Cheers

2017-07-10, 08:44:33
Reply #1

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1333
    • View Profile
    • My personal website
I would presume you lose some speed because adaptivity needs longer to recalculate but a 40% decrease? It will be interesting to hear back from the devs :)
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2017-07-10, 10:02:31
Reply #2

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Another consideration could be the CPU caches, which need to be erased more often if you have a larger working set in the memory, but this should be negligible if you are using gigabytes of memory. 40% is surely a lot. What if you compare rays per second when rendering? Are those values similar? (they should be)

2017-07-10, 10:05:19
Reply #3

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Also, it's summer now, so your CPU could be overheating and if you're running something at 100% the CPU power for 8 hours, the processor might have to slow down to prevent damage. In any case, I'll see what the others think about your issue :-)

2017-07-10, 10:15:18
Reply #4

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
So I've been told even denoising should scale linearly with the number of pixels. What if you look at render stats in the Corona VFB? There's the "TIMES" section, which could tell us more.

2017-07-10, 10:45:36
Reply #5

Behrendt

  • Active Users
  • **
  • Posts: 28
  • I'm a freelance 3D Artist from Cologne/Germany
    • View Profile
    • My online portfolio
CPU overheating can be ruled out - it's cooled with hybrid watercooling solution and only gets to about 50° when on 100% load. I will make a test regarding rays per second when I get around to it, hopefully sometime today.

2017-07-10, 11:18:39
Reply #6

Behrendt

  • Active Users
  • **
  • Posts: 28
  • I'm a freelance 3D Artist from Cologne/Germany
    • View Profile
    • My online portfolio
Ok, I made a quick little test, and I suppose the Frame Buffer Updates could be the issue.
2K:
Rays/s total - ~3.900.000
Rays/s actual ~ 3.900.000

8k:
Rays/s total ~ 2.500.000
Rays/s actual ~ 1.400.000 - 3.800.000 - the value is always constantly going up and down

I noticed at 2k the VFB Refresh time was about 23ms but at 8k its about 1000ms. Considering the standard Update intervall in Alpha 6.3 is also about 1000ms I suppose the CPU gets a lot of overhead just for updating the Frame Buffer constantly.
So I increased update interval by 100 to 100000ms for testing.

8k with changed Update Interval:
Rays/s total ~ 3.650.000
Rays/s actual ~ 3.650.000

Still a bit slower than 2k but considerably better than before. Sadly in the newest daily build it seems there is no way to change the update interval anymore. It seems that this is highly recommended at larger resolutions to minimize unneccesary loads for the CPU for update the large Buffer all the time. So it's crucial we have control over the setting.
I would love an option that only updates the buffer after a pass has finished. This would work for every resolution I guess, so there should be no need to change the interval for different resolutions.

2017-07-10, 16:25:02
Reply #7

Cinemike

  • Active Users
  • **
  • Posts: 1017
    • View Profile
So it's crucial we have control over the setting.
I would love an option that only updates the buffer after a pass has finished. This would work for every resolution I guess, so there should be no need to change the interval for different resolutions.

I agree and yes, good idea.

2017-07-10, 17:55:51
Reply #8

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
I noticed at 2k the VFB Refresh time was about 23ms but at 8k its about 1000ms. Considering the standard Update intervall in Alpha 6.3 is also about 1000ms I suppose the CPU gets a lot of overhead just for updating the Frame Buffer constantly.
So I increased update interval by 100 to 100000ms for testing.

8k with changed Update Interval:
Rays/s total ~ 3.650.000
Rays/s actual ~ 3.650.000

Aha! Good job finding the cause! The guys were having the same issue in the Max plugin, but we didn't fix this in Cinema4D yet. May I move this thread to Bug Reports for a reference?

2017-07-12, 21:15:18
Reply #9

Behrendt

  • Active Users
  • **
  • Posts: 28
  • I'm a freelance 3D Artist from Cologne/Germany
    • View Profile
    • My online portfolio
Glad to hear it will be fixed. Any chance it would be possible to simply reintroduce the update parameter in render settings in a new daily build? That would suffice my needs for now, and I don't have to use Alpha 6.3 :)

2017-07-13, 10:53:39
Reply #10

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Glad to hear it will be fixed. Any chance it would be possible to simply reintroduce the update parameter in render settings in a new daily build? That would suffice my needs for now, and I don't have to use Alpha 6.3 :)

Hi, the setting was actually moved to global Preferences, so it's still there :-)

2017-07-13, 12:30:42
Reply #11

Behrendt

  • Active Users
  • **
  • Posts: 28
  • I'm a freelance 3D Artist from Cologne/Germany
    • View Profile
    • My online portfolio