3ds Max standard rendering slower than octane viewport

Forums: 3ds Max standard rendering slower than octane viewport
3D Studio Max Plugin (Export Script Plugins developed by [gk] and KilaD; Integrated Plugin developed by Karba)
Forum rules
Please post only in English in this subforum. For alternate language discussion please go here viewforum.php?f=18

3ds Max standard rendering slower than octane viewport

Postby Jani » Tue Mar 30, 2021 8:09 pm

Jani Tue Mar 30, 2021 8:09 pm
I have a problem with something I have noticed for a while now.

Basically, I have a file which has a bunch of simple geometry loaded in. Some of it is animated, but only using simple transforms, and the amount of objects within the scene is relatively low(up to 1000)

The scene also contains several orbx proxies of a piece of machinery which consists of 8 objects, which together amount to 17 million polys. The animation only has 1 animated camera, spread over some 8500 frames.

The problem is this: Octane viewport is smooth, with the animation playing in almost realtime(sub-second geometry re-fresh). So if I set up octane to give me 1 second draft renders, I expect it to take 8500 seconds. However when I press the render button via Max, it loads the scene, renders, and every subsequent frame takes ~6 seconds. That is, 1 second rendering, and 5 seconds while it claims it's rendering, but isn't doing anything.

This problem of the discrepancy between interactive viewport and max's animation rendering has been present over several projects I've had to date, and I have no explanation for it. I feel like I don't even have the tools to properly isolate what's causing the problem. All I've managed to isolate so far is that it is caused by the heavy geometry of the machine. When it is disabled Octane behaves like expected: 1 second renders. When I enable ANY of the heavy parts, it jumps to 6 - 7 seconds. However what's interesting is that it doesn't matter whether I load in 1 or all 8 of the parts, it still takes the same 6 seconds(basically it doesn't matter if the scene contains 4 mln polys or 20). I have tried having the geometry brought in as .octprx proxy file, as well as just linked the geometry, as well as actual geometry. It doesn't matter, even if only one part of that machine is enabled, the time it takes to start rendering a frame is extended by 5 seconds. When I disable everything, and only keep that one piece of heavy geometry, the trend is reversed, and each frame only takes the one second I want it to.

Is there any way I can find out what is it doing during those 5 seconds? Are there any tools I have to see what needs optimized for me to do this? Why is octane realtime viewport not affected? It shows the same animation. Everything in the scene is set as 'movable proxy'. Gosh even an orbx export of the whole animation renders this no problem in standalone.

As this is not the first time this happened, is it possible to have a function built in that allows to have an animation render directly out of the interactive viewport? That would at least give us a guarantee that if a client needs to see a draft we can give it to them within the day.

Also, is there a way to have octane report to me if something is taking too long? Like if a single object is causing a delay of several seconds, or if there are any other delays which make what should be 1 second frame take 10.


Another issue I experience, but only lately, and I don't have a lot of time to investigate, is forest pack. When there ale multiple forest objects within the scene, even when they aren't animated, octane takes a few seconds to re-load the scene when using an animated camera. Even when nothing else in the scene is animated, or anything else enabled other than forest pack, it still causes a geometry re-fresh. This didn't use to be the cause a couple of versions back I think. This also happens in both, the 3ds max native animation render as well as octane viewport.

When I export forest object as orbx, and load it back in, it doesn't have that problem, but the Vram footprint for an orbx loaded back into max with forest data is a lot higher than using forest pack on it's own. Is there a way to fix this? Or at least find out what's causing the problem?

Lastly, can you tell me if there's any way I can revert to an older version of the plugin that doesn't require a re-install? The problem I have currently is that we've installed 2020.2 - 11.5 but I have a scene which we need to render and it contains animated texture transforms for opacity maps, which this particular version has managed to break. To install the new version it would take us to go to IT, and wait for a rather lengthy process for them to update the software for us, since we don't have admin rights(yeah I know.. big company). Is there a way for us to do this manually without requiring admin rights? Even if it's just for reverting to a previous version? For example, octane standalone doesn't delete it's previous versions and we still have access to those.

Many thanks for taking your time to hear my plea. I hope you can resolve at least some of these issues.

Kind regards,

Jani
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby efforce » Tue Mar 30, 2021 8:17 pm

efforce Tue Mar 30, 2021 8:17 pm
Hey Jani

I think the best way for Paride to help solve/isolate the problem is that you should package and PM him the problematic scene.
efforce
Licensed Customer
Licensed Customer
 
Posts: 30
Joined: Mon Nov 19, 2018 7:30 am

Re: 3ds Max standard rendering slower than octane viewport

Postby Jani » Tue Mar 30, 2021 9:39 pm

Jani Tue Mar 30, 2021 9:39 pm
Hi Efforce,

the problem is, the scene contains sensitive data, and I wouldn't be allowed to send it to anyone... Is there any way we can find the root of this without having to do that?

Jani
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby Jani » Tue Mar 30, 2021 10:42 pm

Jani Tue Mar 30, 2021 10:42 pm
I've managed to find a way to do a screen record on this machine, so hopefully the following video clearly demonstrates the problem outlined:

https://drive.google.com/file/d/1w-CnDl ... sp=sharing

Cheers!
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby Jani » Wed Mar 31, 2021 8:02 am

Jani Wed Mar 31, 2021 8:02 am
Apologies, I've now enabled the video to be viewed by 'anyone with the link'... I thought that option was enabled by default.

Many thanks for having a look at this.

Jani
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby paride4331 » Wed Mar 31, 2021 12:24 pm

paride4331 Wed Mar 31, 2021 12:24 pm
Hi Jani,
Pressing render the scene goes from ram to vram (and in animation each frame is like a different scene), this action is those "five" seconds you are talking about. Every time objects change shape, position etc etc, the scene changes and they need to be reloaded in vram. However we consider that your scene has no materials assigned therefore the eveluation time and the render time is of little significance. Said that we can optimize the scene to reduce the evaluation times. However, we have also consider possible PCIexpress bottlenecks and/or not enough ram.
You could try setting all moving or modified objects as movable proxy. Also there are settings like "pre-load textures on eveluation" in Octane preferences > trouble shooting panel. In the specific case, however, it is reasonable to think the proxy objects will be loaded to Vram every frame if they contain animated or modified objects. So even if only one object contained in proxy objext were non-static, the whole proxy object would be loaded every time.
Regards
Paride
2 x Evga Titan X Hybrid / 3 x Evga RTX 2070 super Hybrid
User avatar
paride4331
Octane Guru
Octane Guru
 
Posts: 3686
Joined: Fri Sep 18, 2015 7:19 am

Re: 3ds Max standard rendering slower than octane viewport

Postby Jani » Wed Mar 31, 2021 1:00 pm

Jani Wed Mar 31, 2021 1:00 pm
Hi Parride,

Apologies if it hasn't been clear enough in the video attached in the 4th post. Afaik, the moment you press the render scene button octane will load the whole scene into Vram, and from there, if it's rendering an animation, it will only update those objects/materials that have actually changed between the frames. I understand that the first time it loads everything it takes a lot of time, as it needs to compile the geometry, but any subsequent frames should be rapid, as there are no other changes to the geometry other than translation of some of the objects transforms.

To further the point I am trying to make, how is it possible that within octane live viewport it functions as intended(as in, takes a wee while to load the scene into vram, after which scrubbing the timeline is perfectly possible at several fps, with instant octane updates), but the 3ds max native render view takes several seconds to do those same tasks octane viewport handles without any issues.

In terms of the materials, all of the orbx proxys have 2 materials asigned to them, one metallic and one specular, neither of which are animated. There are animated materials within the scene, however they only have 2d transform animation of their opacity maps.(and even those are broken in the version I am running)

Please try to carefully view the submitted video to see the difference in delay between octane viewport and the 3ds max scene renderer.

I would also like to emphasize again that all of the objects in the scene are set as 'movable proxy'.

Is there any demonstration I can make that would help you analyze and see where the problem is? I can make a recording of it and upload here.

Many thanks,

Jani
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby paride4331 » Wed Mar 31, 2021 3:22 pm

paride4331 Wed Mar 31, 2021 3:22 pm
Hi Jani,
Traslated objects = no static objects, then Octane will reload them every frame (recompiling any no static objects every frame).
Animated opacity textures = no static objects, then Octane will reload them every frame (recompiling any no static objects every frame).
Setting all object like Movable proxy = Octane will be releoaded every frame ((recompiling the whole scene every frame).

Regards
Paride
2 x Evga Titan X Hybrid / 3 x Evga RTX 2070 super Hybrid
User avatar
paride4331
Octane Guru
Octane Guru
 
Posts: 3686
Joined: Fri Sep 18, 2015 7:19 am

Re: 3ds Max standard rendering slower than octane viewport

Postby neonZorglub » Wed Mar 31, 2021 10:49 pm

neonZorglub Wed Mar 31, 2021 10:49 pm
Hi Jani,

Without sharing your file, it would be still useful to examine all your settings:
Could you
-open your scene.
-select all objects, and delete all.
-open material editor, and delete all materials
-open Octane preferences
-In the menu 'Preset', choose 'Add Octane preset helper'
-in this new OctanePreset_001 object panel, set Included categories to 'Full'
save as another name..
(the Preset object will keep a copy of most of the Preferences settings)

That should be a small max file, without any sensitive data, that you could share or send by PM.


To get some details on the performance, in Octane Preference, Trouble shooting, you can
-Enable Extra log
-Enable render performance report.

Do the normal render

-in Octane Preference, Tools menu, 'Edit log file'
Ideally, for you kind of scene, you should have the first frame like that:
CheckScene: 55.93 % (3.91 sec).
GetMesh: 0.46 % (0.03 sec).
CalcVertexNormals: 0.00 % (0.00 sec).
EngineUpdate: 15.44 % (1.08 sec).
EngineRender: 27.96 % (1.95 sec).
Other: 0.67 % (0.05 sec)

and the next frames should spend most of the time in EngineRender, not in CheckScene (that's where all data are read from 3dsmax and sent to Octane engine)



Here are some settings that can influence the performance of the processing of the geometry while rendering:

*Render setup:
- Kernel/Render settings: 'Update static geo.' : OFF
- Kernel/Render settings: the 4 'Broadcast xxx' options should be 'None', Normal', 'Never', 'Never'
- Support / Common Scene collection:
- Use Direct geometry handled : ON
- Octane scene Persistency : 'Keep All nodes'

*Octane Preferences:
tab Trouble Shooting:
-Use same Scatter node for compatible Instances : ON
-Clear node cache when render : OFF
-Evaluate Non Renderable Geometry : OFF
-Force rebuild Meshes : OFF
-Force re-init materials : OFF
-Pre-load textures on evaluation : OFF
-Enable asynchronous renderer updates : ON

You could also reset the Octane preferences to the default values: Preset menu : 'Restore default settings'

*Disable movable proxy when not needed:
-In Octane object properties:
-open the context menu on one of the object(right click), and choose 'Select Non-Animated objects that ARE set as Movable Proxy'
-disable movable proxy

I hope that can help.
Thanks
neonZorglub
OctaneRender Team
OctaneRender Team
 
Posts: 892
Joined: Sun Jul 31, 2016 10:08 pm

Re: 3ds Max standard rendering slower than octane viewport

Postby Jani » Fri Apr 02, 2021 1:38 am

Jani Fri Apr 02, 2021 1:38 am
Hi neonZorglub,

I very much appreciate the time you took respond to my problem, so many thanks for that.

I was going to do a little screen record of all the settings pre/after so we could look at exactly which setting was causing the problem. But to my surprise(and as it so many times happens) the problem has magically fixed itself - even prior to me making any changes. I consider this extremely weird behavior, as this problem was persistent over several saves/reloads, and to be honest with you, I'd personally prefer if it didn't magically go away as I could then at least know where it was coming from.

To further prove that it's not a problem, the log file clearly states on the first frame

Root: 0.00 % (0.00 sec).
[2021-04-02_01:53:47.03] CheckScene: 58.36 % (16.52 sec).
[2021-04-02_01:53:47.03] GetMesh: 3.92 % (1.11 sec).
[2021-04-02_01:53:47.03] CalcVertexNormals: 5.35 % (1.51 sec).
[2021-04-02_01:53:47.03] EngineUpdate: 17.34 % (4.91 sec).
[2021-04-02_01:53:47.03] EngineRender: 24.08 % (6.81 sec).
[2021-04-02_01:53:47.03] Other: 0.22 % (0.06 sec)

next frame:

Root: 0.00 % (0.00 sec).
[2021-04-02_01:53:54.72] CheckScene: 0.45 % (0.03 sec).
[2021-04-02_01:53:54.72] EngineUpdate: 44.ec).81 % (3.17 s
[2021-04-02_01:53:54.72] EngineRender: 53.63 % (3.80 sec).
[2021-04-02_01:53:54.72] Other: 1.10 % (0.08 sec)


and every subsequent frame after that:

Root: 0.00 % (0.00 sec).
[2021-04-02_01:53:59.14] CheckScene: 0.72 % (0.03 sec).
[2021-04-02_01:53:59.14] EngineUpdate: 10.13 % (0.44 sec).
[2021-04-02_01:53:59.14] EngineRender: 87.69 % (3.78 sec).

Root: 0.00 % (0.00 sec).
[2021-04-02_01:54:03.15] CheckScene: 0.79 % (0.03 sec).
[2021-04-02_01:54:03.15] EngineUpdate: 0.00 % (0.00 sec).
[2021-04-02_01:54:03.15] EngineRender: 98.00 % (3.83 sec).

Root: 0.00 % (0.00 sec).
[2021-04-02_01:54:07.17] CheckScene: 0.82 % (0.03 sec).
[2021-04-02_01:54:07.17] EngineUpdate: 0.00 % (0.00 sec).
[2021-04-02_01:54:07.17] EngineRender: 97.93 % (3.69 sec).


I would like to point out that these times are identical before I made any changes to the setting and after, so changing the settings didn't affect render times which means the problem was already resolved before I did anything.

As far as the settings go a lot of them were different to what you were showing so hopefully these settings will help with render times in further projects.

I have attached the scene in which I deleted everything and with octane settings as per your request.

Could you also please respond to the last question? -> If there is any way to go back to a previous version of octane plugin? Octane standalone keeps its previous versions, but I seem to be unable to select previous Octane max plugins as renders so I don't know if they are still available or not? I am asking this as I need admin rights to re-install previous version, I don't have those, and going through the official IT channel in my company would take me 2 weeks. The reason I need to revert to the previous version is that the one I am on has broken animated textures and the project I need to render has a deadline next week.

In regards to my forest pack question, the settings I've changed now have possibly solved the problem, but I don't have time to investigate right now so I'll pick up on Monday and let you know if that's resolved as well..

Again, Huge Thanks!

Regards,

Jani
Attachments
Octane_Bug_testing.zip
Scene octane settings
(82.57 KiB) Downloaded 123 times
i9 9920X, 64GB, RTX 2080Ti
Ryzen 1800x, 64GB, 2x RTX 3090
Jani
Licensed Customer
Licensed Customer
 
Posts: 73
Joined: Tue Nov 20, 2012 12:44 pm
Next

Return to Autodesk 3Ds Max


Who is online

Users browsing this forum: No registered users and 13 guests

Fri Mar 29, 2024 1:37 pm [ UTC ]