Page 1 of 1

Export times kill me - part of a [SOLUTION] inside!

Posted: Wed Mar 01, 2017 9:38 am
by philmaron
Hey guys,
I've finally managed to upgrad to 4 GPUs, 2x1080 and 2x980ti, and what should I say: Render times make me happy!

But there's a downer ... I'm rendering animation very often and my current project invorlves a lot of mechanical moving parts from CAD, which even WITH Octane-Tags make the export/prepare/save time pretty slow from frame to frame. Usually the actual render takes 14 seconds for a full hd image (yeah!), but about 20 seconds are the used for "saving frame, update, prepare, start rendering", which brings me to about 34 seconds. And since I've got two 8-core processors and 128gb ram, I'm sure the bottleneck must be either the hdd or - no offense - that Octane can't handle processing the frame while rendering the next. Especially on multiple cards it would be great if there was some management for that (rendering parallel frames on different cards maybe?).

I've searched the forums and found out about the blender plugin, which seems to have an option to switch on/off export-components and as you can read here viewtopic.php?f=32&t=14149 the export times geat critically faster when leaving out normals from export. Is there a similar option in Cinema 4D I don't know of?

Thank you and regards
Phil

EDIT:
I found a way to significantly reduce my preparation time. Now it does not take 20 seconds per frame to start rendering, but 6 seconds. And I don't know if it is a new info, but the solution was not assigning materials to the mother nulls, but the objects themselves or small groups of objects. Since most of my objects have the same material, I used a parented null with my material on it and changed only some of the children's material if needed. And it seems that Octane hates that. I post a picture in the comments!

Re: Export times kill me

Posted: Wed Mar 01, 2017 9:44 am
by RahiSan
Afaik octane does not use multiple cores for the export, so the single core performance of your dual xeon might hurt the export times. If I remember correctly, there was a thread where a recent dual xeon was much slower than an old 2600k i7. Still, did you try experimenting with the geometry and material update settings? Make sure all your materials are octane materials as well.

Re: Export times kill me

Posted: Wed Mar 01, 2017 9:51 am
by philmaron
Thank you for you quick advice!
RahiSan wrote:Afaik octane does not use multiple cores for the export, so the single core performance of your dual xeon might hurt the export times. If I remember correctly, there was a thread where a recent dual xeon was much slower than an old 2600k i7.
That might be true, though each has 8x3ghz which should not be too bad compared to an i7.
RahiSan wrote:Still, did you try experimenting with the geometry and material update settings? Make sure all your materials are octane materials as well.
I've used "Resend only updated" with "all movable" and "auto detect", the first make 34 seconds, the latter 44. Manual assignment is close to "all movable". The moving parts are robotic party with really high polycount and many tiny sub objects. I might try to connect/delete them, but I'm a bit scared of having 500 Selection sets on one geometry after that.

Re: Export times kill me

Posted: Wed Mar 01, 2017 10:21 am
by Lewis
Otoy really should try to optimize that "uploading to GPUs" process to be multi-threaded, more and more CPUs are getting more Cores/less GHZ and even games are cappable of using 4 , 6 and more cores nowdays.

I also most of time wait render to start :( so if is any better feeling to you knowing that's not just Cinema4D issue but Octane in general.

Re: Export times kill me

Posted: Wed Mar 01, 2017 11:26 am
by philmaron
Lewis wrote:Otoy really should try to optimize that "uploading to GPUs" process to be multi-threaded, more and more CPUs are getting more Cores/less GHZ and even games are cappable of using 4 , 6 and more cores nowdays.

I also most of time wait render to start :( so if is any better feeling to you knowing that's not just Cinema4D issue but Octane in general.
I really do believe the best way would be to make it possible to load/unload at the same time via multiprozessing, or make multi-gpu usage by loading one frame to gpu #1 and right afterwards the second frame to gpu #2.

In the blender forum topic I posted earlier I not only found that checkbox-thing for control over which info is exported, but also mentioning of "loading while rendering". Is that actually true?

Re: Export times kill me

Posted: Wed Mar 01, 2017 12:17 pm
by philmaron
Not the solution for everything, but a BIG speedup of waiting and not rendering betweens frames.

Don't do this:
bad.PNG
Rather do this:
good.PNG
It IS unflexible and can be hard on complex scenes, but if you really have issues waiting for "start rendering", try that :)

Re: Export times kill me - part of a [SOLUTION] inside!

Posted: Wed Mar 01, 2017 2:19 pm
by aoktar
Can you post plugin log output for per frames? Script->Console window texts. It will show details to understand where time is spent.

Re: Export times kill me - part of a [SOLUTION] inside!

Posted: Wed Mar 01, 2017 10:29 pm
by philmaron
aoktar wrote:Can you post plugin log output for per frames? Script->Console window texts. It will show details to understand where time is spent.
Of course!

FRAME 2244 fps:25 camMb:0 objMb:0
--------------------------- EXPORT LOG ---------------------------
Export materials time= 8371.744 ms
Collect objects time= 1263.085 ms
Mesh creation time = 8820.58 ms.
Triangles:0 Disp.triangles:0 Hairs:0 Meshes:0
VRAM used/free/max:349Mb/4.524Gb/6Gb
Out-of-core used:0Kb total used RAM:23.142Gb
Total export Time = 18590.894 ms
movable:0 Nodes:6927 camMb:0 objMb:0
Device:0 TotMem:8Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.425Gb temperature:58
Device:1 TotMem:6Gb rtData:512Mb film:9Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:2.783Gb temperature:61
Device:2 TotMem:6Gb rtData:512Mb film:9Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:2.685Gb temperature:73
Device:3 TotMem:8Gb rtData:512Mb film:9Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.579Gb temperature:66

FRAME 2245 fps:25 camMb:0 objMb:0
Triangles:9.402m Disp.triangles:0 Hairs:0 Meshes:4k
VRAM used/free/max:2.072Gb/1.147Gb/6Gb
Out-of-core used:0Kb total used RAM:20.802Gb
MotBlurTM=0.001 sec. createTM=6.376 sec. evalTM=41.986 sec.
Device:0 TotMem:8Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.425Gb temperature:50
Device:1 TotMem:6Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:2.781Gb temperature:56
Device:2 TotMem:6Gb rtData:512Mb film:9Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:2.685Gb temperature:63
Device:3 TotMem:8Gb rtData:512Mb film:29Mb geo:1.256Gb node:5Mb tex:216Mb unavailable:1.577Gb temperature:58

FRAME 2246 fps:25 camMb:0 objMb:0
Triangles:9.402m Disp.triangles:0 Hairs:0 Meshes:4k
VRAM used/free/max:2.072Gb/2.73Gb/6Gb
Out-of-core used:0Kb total used RAM:21.712Gb
MotBlurTM=0.001 sec. createTM=2.522 sec. evalTM=25.533 sec.
Device:0 TotMem:8Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.425Gb temperature:48
Device:1 TotMem:6Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.198Gb temperature:58
Device:2 TotMem:6Gb rtData:512Mb film:9Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.102Gb temperature:62
Device:3 TotMem:8Gb rtData:512Mb film:29Mb geo:1.326Gb node:5Mb tex:216Mb unavailable:1.577Gb temperature:56

FRAME 2247 fps:25 camMb:0 objMb:0
As I wrote you on facebook, I may send you the scene, parts of it, or a recreation after Monday, since the product gets released then :)