Chaos Corona Forum
Chaos Corona for 3ds Max => [Max] I need help! => Topic started by: Fluss on 2018-01-09, 17:36:32
-
Hi guys,
I'm actually encountering some performance issues on the project I'm working on.
I'm working on a small animation and I've noticed some weird render times. Corona 1.7.2 - Max 2018
The animation is rendered on two PCs :
Main workstation : dual xeon 2696v4 44cores/88threads @ 2.2GHz - turbo : 2.8GHz - 64GB RAM - corona benchmark 1.3 : 36sec.
Slave : dual xeon 2683v3 28cores/56threads @ 2.0GHz - turbo : 2.5GHz - 64GB RAM - corona benchmark 1.3 : 57sec.
While rendering (submitted to deadline), I've noticed that render times on my workstation were equal or slower than the slave, which shouldn't as the workstation is way more powerful :
(CCO: workstation / vizDR : Slave)
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77335;image)
So I opened the scene on both computers and made some renders, here are the results :
workstation :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77337;image)
slave:
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77339;image)
I created a fresh new scene with a subdivided plane, some random extrudes, and basic material with bump and sss and I got the expected rendertimes :
workstation :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77341;image)
slave :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77343;image)
So it seems to be scene related but I don't manage to find what is wrong, any hint on what is going on ?
-
OFFTOPIC: How can I embed the uploaded images directly in the topic?
edit : done by copying the image address after first post submission, wonder if there is a better way to do it directly
I forgot to mention that I tried to import the gearVR into the test scene and i get similar results (workstation and slave on par render time wise). I assume that there is not a lot of GI calculation in the gearVR scene which is not profitable for high core count but this does not explain why i get worse performance with a higher clocked and higher core count CPU on the exact same scene.
Something really strange here.
-
To sum up:
-in a simple test scene (extruded plane) you get the expected rendering performance - the workstation is faster than the slave
-in your production scene, the two computers are getting similar render times, or the workstation is slower, which is not expected
Some questions:
1) You mentioned using Deadline - can you explain how exactly you are using it? Are the two computers rendering two completely separate frames, or are they both rendering one frame? Is there some kind of region/tile rendering involved?
2) Are you using the newest version of Deadline?
3) In the "simple test" and "production scene" examples - is there some network rendering involved (so the image rendered on the slave is merged with the image rendered on the workstation), or are the computers just rendering two images on their own?
-
To sum up:
-in a simple test scene (extruded plane) you get the expected rendering performance - the workstation is faster than the slave
-in your production scene, the two computers are getting similar render times, or the workstation is slower, which is not expected
Exactly that
Some questions:
1) You mentioned using Deadline - can you explain how exactly you are using it? Are the two computers rendering two completely separate frames, or are they both rendering one frame? Is there some kind of region/tile rendering involved?
2) Are you using the newest version of Deadline?
3) In the "simple test" and "production scene" examples - is there some network rendering involved (so the image rendered on the slave is merged with the image rendered on the workstation), or are the computers just rendering two images on their own?
1) submitted the animation job with deadline script then running the deadline client on both computers. So each computer was rendering different consecutive frames. Standard render, pass limit, no region/tile etc...
2) Deadline 10.0.1.1
3) The images shown as an example were rendered in single frame on each computer, the computers just rendering the same image (same file, same frame #) on their own. No deadline, no DR here. So the issue happens whether this is a network job or not.
-
Hi. Very interesting. Could this be caused by the bitmaps used in the GearVR scene? Are the bitmaps placed on a shared server? What happens if the environment and materials from the GearVR scene is used in the "simple" scene?
-
Hi. Very interesting. Could this be caused by the bitmaps used in the GearVR scene? Are the bitmaps placed on a shared server? What happens if the environment and materials from the GearVR scene is used in the "simple" scene?
Indeed, bitmaps are stored on a shared server. Same issue with no environment at all. And I get similar results with default corona material in override materials slot :
(Scene parsing took a bit longer on the slave. Only 2s difference in rendering time)
-
Hi. I think that there is a problem with your last test, since all textures/bitmaps are still referenced in the file. So you should either remove all texture references (including the material editor) in the GearVR scene, or use these bitmaps in the simple scene.
-
Hi. I think that there is a problem with your last test, since all textures/bitmaps are still referenced in the file. So you should either remove all texture references (including the material editor) in the GearVR scene, or use these bitmaps in the simple scene.
Redone the test without any map, pretty self-explanatory :
workstation:
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77405;image)
slave:
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77407;image)
We can see some improvement without any texture, but there is no more HDRI.
-
hmmm that's interesting. I replugged the HDRI into the corona env slot and the performance gap between the two computers almost disappear :
workstation :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77409;image)
slave :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77411;image)
-
There is a massive drop in rays/s when you enable the HDRI.
-How are you loading the HDRI? What kind of loader are you using? Corona bitmap, max bitmap, Vray HDRI?
-The same about any other textures: what loader?
-What happens when you switch everything to Corona Bitmap? What happens when you switch to Max Bitmap?
-Do not use Vray HDRI. It is not fully supported yet, and can often cause problems.
-
+ What happens if all textures are loaded from local drice?
-
There is a massive drop in rays/s when you enable the HDRI.
-How are you loading the HDRI? What kind of loader are you using? Corona bitmap, max bitmap, Vray HDRI?
-The same about any other textures: what loader?
-What happens when you switch everything to Corona Bitmap? What happens when you switch to Max Bitmap?
-Do not use Vray HDRI. It is not fully supported yet, and can often cause problems.
I was using the standard 3ds max bitmap loader for all textures. I switched the HDRI to Corona bitmap and BOOM! From 48s to 24s on the workstation! And from 51s to 35s on the spawner!
Holy cow! I was not aware there was such a substantial gap between those two loaders! I assumed it was pretty much the same and used to keep working with standard 3ds max loader by habit! That's a huge time saver here !
-
Thanks for sharing this. There's definitely something I'll have to test myself here :)
Thanks!
-
Thanks for sharing this. There's definitely something I'll have to test myself here :)
Thanks!
I don't know if there is such a performance gap between loaders on every use cases but that's definitely worth a try.
Back to the original production scene, with everything converted to Coronabitmap (using the Corona converter) :
Workstation :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77890;image)
Slave :
(https://forum.corona-renderer.com/index.php?action=dlattach;topic=18831.0;attach=77892;image)
Let's try to summarise my tests and draw some conclusion :
workstation : dual xeon 2696v4 44cores/88threads @ 2.2GHz - turbo : 2.8GHz
Slave : dual xeon 2683v3 28cores/56threads @ 2.0GHz - turbo : 2.5GHz
Corona benchmark 1.3
Workstation : 36s with turbo all core @ 2.6GHz
Slave : 57s with turbo all core @ 2.5GHz
Performance index : 1.58 ( Slave render time / WS render time )
Vray benchmark 1.0.6
Workstation : 26s with turbo all core @ 2.8GHz
Slave : 44s with turbo all core @ 2.5GHz
Performance index :1.69
Cinebench r15
Workstation : 5288pt with turbo all core @ 2.8GHz
Slave : 3273pt with turbo all core @ 2.5GHz
Performance index : 1.62 ( WS score / Slave score )
My test Scene Corona light planes only
Workstation : 176s with turbo all core @ 2.6GHz
Slave : 272s with turbo all core @ 2.5GHz
Performance index : 1.55
My test Scene HDRI only (with Corona Bitmap)
Workstation : 214s with turbo all core @ 2.6GHz
Slave : 309s with turbo all core @ 2.5GHz
Performance index : 1.44
My test Scene HDRI+light planes (with Corona Bitmap)
Workstation : 203s with turbo all core @ 2.6GHz
Slave : 314s with turbo all core @ 2.5GHz
Performance index : 1.55
My production Scene HDRI+light planes (with standard Bitmap)
Workstation : 110s with turbo all core @ 2.6GHz
Slave : 112s with turbo all core @ 2.5GHz
Performance index : 1.02
My production Scene HDRI+light planes (with Corona Bitmap)
Workstation : 50s with turbo all core @ 2.6GHz
Slave : 64s with turbo all core @ 2.5GHz
Performance index : 1.28
Conclusion
_max standard bitmap loader has a tremendous impact on performances
_Corona trigger AVX downclocking on xeon V4, not on xeon v3. What's more, other benchmarks don't trigger AVX downclocking at all which seems to throw more computing power according to the performance index (not sure about that as max is not involved in benchmarks)
_There is probably still something in my production scene that slow down rendering as the performance index is quite lower here
-
I am moving this to bug reporting as it would be "nice to" look into this and think if some more performance could be squeezed out.
By the way, have you tried rendering:
-locally on master with Cbitmap
-locally on master with max bitmap
-locally on slave with Cbitmap
-locally on slave with max bitmap?
What I mean is if there is any difference between the Cbitmap and max bitmap depending on network rendering on/off.
-
By the way, have you tried rendering:
-locally on master with Cbitmap
-locally on master with max bitmap
-locally on slave with Cbitmap
-locally on slave with max bitmap?
What I mean is if there is any difference between the Cbitmap and max bitmap depending on network rendering on/off.
All tests shown above are made locally (with no network involved in rendering) with assets stored on network drive. Bringing assets back locally did not changed anything tho.
-
I just tried the recommendation of using Corona bitmap for hdri lighting the scene since it was so much faster above. But for some reason hdri with Corona bitmap was slower.
3dsmax bitmap: 13min34sec
Corona bitmap: 18min22sec
Am I doing something wrong?
-
@dfcorona @Fluss
One more thing:
Please open the development/experimental stuff rollout - https://coronarenderer.freshdesk.com/support/solutions/articles/12000021288
Then change "Enviro sampler" from "NormalDependent" to "Fast".
Then redo your tests.
What times are you getting for Corona Bitmap and Max Bitmap?
-
Ok, I did some tests. If you guys have time, you can repeat them to see if you get similar results:
Env NormalDepend (default):
CBitmap - 00:35 min
MaxBitmap - 1:03 min
Env Fast:
CBitmap: 00:40 min
MaxBitmap: 00:58 min
-
Max Bitmap
Env NormalDepend: 13min 58sec
Fast: 13min 53sec
Corona Bitmap
Env NormalDepend: 13min 36sec
Fast: 13min 49sec
Doesn't seem to really help, Makes corona Bitmap worse. Seeing results from Fluss I thought I was going to cut my render down significantly with Corona Bitmap.
-
Did one more test
Corona Bitmap
Env NormalDepend with New Light Solver: 15min 08sec
-
Here are my tests :
Env NormalDepend (default):
CBitmap - 00:49 min
MaxBitmap - 01:07 min
Env Fast:
CBitmap: 00:48 min
MaxBitmap: 01:06 min
-
Question: is the render fast in the beginning and slows down after some time? By the looks of the statistics from your screenshots, there is a huge gap between rays/s total and rays/s actual, which could be the case if the render starts at a very high performance level and then drops. That is a problem I have with a new workstation:
https://forum.corona-renderer.com/index.php?topic=20453.0
I was thinking ot could be the same issue, although I have no solution yet.