Octane Render / Carrara - Compiling Mesh taking more time than render
teknostorm
Posts: 163
I'm rendering a scene with 2 genesis figures wearing supersuits with pz2 files imported as character animation for the figures. There is no dynamic clothes (or dynamic cape) that I know of in the scene.
When I'm rendering in octane render plugin, each frame renders in around 10 seconds, but before rendering each frame there's a 'compiling Mesh' message that lasts around 15 seconds and sends my 8 core cpu spiking to 100% for the duration. This is slowing down the rendering time considerably.
Is this avoidable? Any way to decrease the compiling mesh time?
Comments
Even if you had some of the conforming cloth turned into softbody it shouldn't matter at all, because it's not like it changes the numbers of polygons involved. Carrara already would have done the physics sim before you were rendering (I say all this because I did a proof of concept putting Carrara hair composited into an Octane render, and happened to have done a soft body skirt on the figure I was using, eh... easier to just post the kinda-crappy clip below than try to explain, but my point is I've actually done animations of dynamic cloth in Octane before and it was no different then if I hadn't, so that can't be the source of the problem).
I also haven't gotten this message before, but I also haven't tried rendering the supersuit in Octane before either, maybe that's where it's coming from? I recommend re posting your issue over on the Otoy forums as Sighman (the developer of the plugin) is pretty active over there and will likely be the person to give the answer you need about how to avoid this (if it's possible to avoid, which I suspect it is).
HI teknostorm
"Compiling Mesh" is taking the scene information (models textures etc,). and Sending them to Octane to render.
It's not avoidable .
On another note,. You say that you're "Importing" Pz2 files.
Hopefully not by using the File / Import ..method. Which should still work,.. but it's more of a "Legacy" option.
Carrara uses Pz2 files in the same way that Poser and DS do,.
Whether it's a static Pose, or an animation. You apply it to the selected figure.
You should save your PZ2 files into a "Poses" folder, and add that to Carrara's "Content" Browser, or,.. simp[ly add your Poser Runtime folder to the Carrara browser, then you'll have the models poses etc all at a double click away.
To apply a PZ2 to a figure like V4/M4 all you do is select the figure, Browse to your poses, and double click the pose you want.
Once you have an animated PZ2, loaded onto a figure,. You can also Convert that into a Carrara NLA clip, which can be saved to your My Clips section of the Browser.
Hope that makes sense :)
I get this with displacement or rather particulary animated displacement, particles do it, replicators sometimes if animated.
I have done frozen animated dynamic Optitex imports and not gotten it.
As 3Dage says it is changing of vertex order that does it.
So something is altering the mesh volume between frames.
The supersuit uses displacement btw.
I have rendered it in Octane and had carrara take a very brief time to calculate displacement between frames
In the time between frames
Think about the fact that you're using one of the worlds most powerful super computers, with more memory than anyone previously thought would be possible, or necessary.
Or think about how long it would have taken in 1935 for each "Lead Animator" to hand draw each key-frame of Walt Disney's "Snow White"
and how long it would have taken the "Tweeners" to hand draw the frames between those key-frames
I suppose you could try to export the scene and open it directly in Octane,.
Although I'd imagine that it would still need to process any changes in the scene between frames.
:)
Yep, I see this all the time because I am working with some super complex scenes.
Before it renders a frame, Octane needs to pre-calculate the line of sight angular relationships of each polygon to every other polygon in the scene based on their relative positions in 3d space. This information must be stored for use in subsequent frames if possible. If no new polygons are added, deleted, or altered in position in 3d space in the upcoming frame, the mesh will not need to be recompiled. However, if the polygons are changed in any way the previously stored line of sight information becomes useless and the mesh will need to be recompiled.
Simple fly-through type animations are fast rendering because there is no need to recompile the mesh at each frame if nothing but the camera is moving, But with an animated character, Octane treats each frame as a unique mesh solution.
What would be nice is if Octane would recompile only the changes since the previous frame instead of recompiling the entire mesh from scratch. Ideally this would make it all super fast.
There is always the simple brute force method of overclocking the CPU, how much you gain is depending on which CPU...
Jonstark - Its not a message actually, its a status in the progress bar just before it changes to rendering, Your dynamic cloth animation looks awesome! I wish I could have used it for the capes!
3Dage, yes I've been using the drag and drop methos from the content browser to apply pz2. It doesnt show in the import menu anyways. This was also wendy's suggestion from a forum search I found!
wendy - a search on the otoi forum revealed that octane render will compile the mesh everytime a model's pose changes.
3Dage - regarding the comparision with traditional animation and supercomputers, my problem is carrara takes just a second to compile the frame (not render), while octane render is taking over 15 seconds. Both on the same supercomputer :)
Rashad - Thanks for the explanation! I hope they take your suggestion of compiling only updated frames, have you made the suggestion to Octane developers? And why doesn't Carrara need to do this step?
3drendero - yes thats an idea, but I wish it could be cleaned up at the software level.
Here's what I found at the OTOY forum (post was by Rashad, and a suggestion by the develop Sighman to reduce mesh smoothness for quicker loading and render. I havent tried the suggestion yet, as render's still on)
http://render.otoy.com/forum/viewtopic.php?f=79&t=43694&start=20
"rashadcarter wrote:
"I have become curious in general about when the OR4C should and should not rebuild or recompile the geometry for a scene. I have become concerned that animating complex scenes might end up being a nightmare from constant rebuilding of scenes at the start of new frames. I realize that basic camera movements and simple changes to geometry position and scaling don't result in the need to rebuild or recompile the mesh, but changes in character poses and morphs could indeed lead to lots of re-compilation which in complex scenes could result in an added 5 minutes per frame. So even if I could get render times down to one minute per frame I'd still end up in major trouble due to lost time recompiling each frame. Any feedback on ways to reduce time?"
Any change to the structure of a mesh, and yes that includes character animation, will require the mesh to be reloaded. The best solution is to reduce the complexity of the animated meshes. For Genesis I & II you can reduce the rendered mesh smoothing level. If you select the genesis actor node you will see two sliders for smoothness. Octane uses the Rendering Level setting, reduce this to 0 and genesis will load into Octane a lot faster. Only use the higher levels for close up shots. The plugin only reloads the meshes that change so if the object is not in camera view, don't animate it. (Sighman)"
No idea how it does the "re-loading", but if it actually reads the mesh off the HD or SSD every time, maybe you can gain a little by storing the scene in a RAM-disk first.
Free up to 4GB:
http://www.radeonramdisk.com/software_downloads.php
I think compiling would probably be more than just reading. When a character changes pose the mesh actually changes like the bicep bulges or the mouth frowns, so Octane must be calculating those for every frame. Not sure why carrara does it so much faster though (or does it?).
well it does it damned quick n some of mine
I have thousands of replicated figures 12 unique dressed haired ones in one I am still working on and it renders in seconds
Wendy,
The issue is whether there character is animated or not. If the camera is the only thing that is moving then there is no need to recompile the mesh. But if anything other than the camera is moving, it may need to recompile the mesh.
Teknostorm,
When I wrote the above post I had been working only with static scenes. I was discovering even with static scenes that certain types of changes resulted in the OR4C getting stuck updating the mesh. Trees tend to remain in one place so I didn't realize how deep the issue was. It wasn't until I started uploading characters that I discovered that even changes in position can cause the mesh to need to recompile.
Is Carrara any faster at compiling than Octane? It depends it seems. My Volcanic Archipelago scene compiles in Octane within about three minutes whcih seems long until you realize the true scale and depth of complexity in the scene. Carrara native by contrast, took a whopping 6 HOURS to compile the mesh before it could start rendering. Yep, it took multiple hours just for Carrara to "pre-calculate" the scene before it could even begin to render. Needless to say, it is very strange working in Carrara on a scene that is too big for Carrara itself to actually render. Initially I was expecting to have the optiopn of rendering the scene in both Carrara native and Octane so that I could at necessary times composite clouds and other effects. but alas, not possible.
With characters, it may be that Carrara indeed can be faster than Octane at compiling because Carrara might not need to recompile every single change in poses so long as the total polygon count doesn't increase or decrease. This is a likely benefit of the integration of Daz characters as animated data in Octane.
More and more I'm convinced that to remain flexible enough to work with any number of applications, Octane is very simplistic in the way it handles instances and animation information. Octane is very much a frame by frame type of thing, in discrete steps instead of a more continuous mindset. This is to me why Octane lacks a certain degree of elegance in that regard, but again, I think the flexibility that is added by keeping it "simple-stupid" is an overall strength of Octane.
Wendy lives for animations. I would not be surprised if every figure was animated- and even some furniture. ;-)
Hi Technostorm
The reason that your scene updates faster in Carrara is that the figures are treated as "native" to carrara, and Carrara was designed to be an animation tool. so it's built to handle the changes in models and shaders quickly.
What does "Native" to Carrara mean :
Carrara saves genesis and previous models in the Scene file (as vertex models with rigging)
Daz Studio doesn't,. It saves a list of the models and shaders used in the scene, from your library
Octane was designed to be a render engine,
Any changes in your meshes in your carrara scene need to be sent to Octane for each frame.
this currently takes 15 second on your current animation.
Bear in mind that these are Beta programs in development, I'm pretty sure that the current time taken to update scene changes will improve as those programs develop new options and techniques of exchanging data.
I'm sorry if my previous post wasn't taken as light heartedly as it was intended. ...My bad
That's actually a pretty neat idea. I'd often wished something this were available, back when I was using Maxwell Renderer, which may have been the first unbiased engine (NextLimit).
I don't have Octane yet, so hope you suggest this. Certainly there must be some optimizations available for static props & backgrounds.
- Don
Every figure is certainly animated in my scene though they do use the same 4 aniblocks stretched differently and repeated as NLA clips.
Wendy - are these genesis figures? I'm having the compiling mesh delay only in Genesis figures. Other ones like toon mouse etc do not take any time compiling mesh even when animated.
Rashad - thats an eye opener! 6 hours to compile! I haven't yet reached that level of complexity so cannot even imagine whats in your project!
evilproducer - you were correct :)
3dAge - your explanation makes sense! Hopefully these will improve in non-beta (is octane in beta though or only the plugin?)
. I did take your comment light heartedly, only wanted to clear the point about carrara rendering fast just to be clear the scene was not too complex for my pc!
Don - I will also try to point out Rashad's idea to octane render develops on their forum.
Hi Technoatorm,
You're right,.. Octane is a "Production version" now,.. whatever that really means,
I think they released version 1 as (completed) shortly before continuing development on Version 2.
It's still in development, ..but isn't everything , i guess it's evolution in action
:)
admittedly no M2 and V3 mostly
I have issues with too many genesis in carrara period.
one or two ok, any more and saved file sizes rocket, I get that Hudson error etc
3Dage - Thats true especially with software, they're all always evolving and getting more efficient, at the same time making our computers obsolete with their next versions :)
Wendy - I'm going to be working with non Genesis characters for a few animations now, so will know how Octane behaves with them. With a couple of characters it was flawless, but will test it out with a wider range.
https://youtu.be/CHFVSeG1tHQ
finished my video BTW, yes compiles mesh each frame too but very quickly, this rendered quite fast I only used 10 samples most frames
Omg that's epic beautiful! Just kept blowing me away every scene!
Is the replicate function a carrara function or octane function?
carrara
if exported to octane is scatter nodes
I could never export that though as it relies heavily on the latest out of core build as so many textures
I had a fair few surface replicators in that scene.
Thanks, I will have to learn to use that!
Wendy, that very impressively demonstrates that replicators seems to work great with Octane, very cool stuff :)