Hi
I am trying to render some models via instancing. I am instancing 50000 copies of a model over a plane(using instance object). The object is made up of 3k polygons. When I render my scene without materials and with a single distant light Mantra`s speeds are below
-Micropolygon: 47 sec
-Raytrace: 16 sec
Now when I add the new H11 material(everything else is same) the render speed drops dramatically and the memory uses increases dramatically(over 6GB) . Basically I could not wait that longm so ended up canceling all my renders.
To make sure I have disabled reflection fo any kind, no opacity no SSS etc in the material.
The other issue is that I thought that MP renderer should be more memory efficient but after seeing that the memory usage passing 7gb for this scene I am rather questioning the efficiency of the MP considering that I do not have any raytracing enabled, at least not in the material.
I will do more tests with other materials but I was wondering if anyone have tips for rendering massive amounts of instances.In some cases I even need to use SSS and raytracing with instances. Now that I saw the speed issues, I am not going to try it for a while
thanks
Rendering intances with Mantra, huge speed issues new H11 ma
11320 9 2- kursad
- Member
- 88 posts
- Joined: March 2010
- Offline
- jason_iversen
- Member
- 12671 posts
- Joined: July 2005
- Offline
Yeah – the new material defines a displacement shader even if you're doing no displacement at all — and a displacement shader will cause havoc with performance, both RAM and speed. And especially with instancing!
So: To your material add the following (new-ish) property: “Mantra 11.0 > Shaders > Disable Displace Shader Rendering (shop_disable_displace_shader)”, and turn it On.
I'd recommend that SESI add support for this to their Mantra Surface shader because it's quite unexpected that displacement shaders will be generated even if unused. The performance impact is terrible since displacement is used quite rarely. I shudder to think of all the less-than-ideal experiences people are having with Mantra out there due to this being set up the way it is.
In fact, I'd suggest to SESI that they add this parm to the Material Shader Builder and check in On by default too.
So: To your material add the following (new-ish) property: “Mantra 11.0 > Shaders > Disable Displace Shader Rendering (shop_disable_displace_shader)”, and turn it On.
I'd recommend that SESI add support for this to their Mantra Surface shader because it's quite unexpected that displacement shaders will be generated even if unused. The performance impact is terrible since displacement is used quite rarely. I shudder to think of all the less-than-ideal experiences people are having with Mantra out there due to this being set up the way it is.
In fact, I'd suggest to SESI that they add this parm to the Material Shader Builder and check in On by default too.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- kursad
- Member
- 88 posts
- Joined: March 2010
- Offline
Hi Jason
Thanks for the pointing out. I suspected that something was fishy with the material but I did not have time to delve into the material. For some reason I thought that the default H11 material would have been thought out more “properly” in a way
I second your suggestion regarding the default material. At some point it was going to crash my computer because it already passed my 8gb limit and the computer was crazy irresponsive for quite sometime until I managed to kill Mantra manually.
cheers
k
Thanks for the pointing out. I suspected that something was fishy with the material but I did not have time to delve into the material. For some reason I thought that the default H11 material would have been thought out more “properly” in a way
I second your suggestion regarding the default material. At some point it was going to crash my computer because it already passed my 8gb limit and the computer was crazy irresponsive for quite sometime until I managed to kill Mantra manually.
cheers
k
- pbowmar
- Member
- 7046 posts
- Joined: July 2005
- Offline
Slight hijack, but related: There are SSS perfomance boosting toggles on the SSS node buried inside the Mantra Material, that default to off and aren't exposed. Unfortunately, SSS is too slow to use without these toggles turned on, so you have to unlock everything, dive inside, and turn the toggles on.
If you know about them!
The uber material has a chance at being a great single point of entry, but these sorts of things (the displace, the SSS usability toggle being “off”, the fact there is no texture map for emission!) really put people off.
Cheers,
Peter B
If you know about them!
The uber material has a chance at being a great single point of entry, but these sorts of things (the displace, the SSS usability toggle being “off”, the fact there is no texture map for emission!) really put people off.
Cheers,
Peter B
Cheers,
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
- jason_iversen
- Member
- 12671 posts
- Joined: July 2005
- Offline
I agree, Peter.
On our project we created our own bastardized version of the SurfaceModel VOP, and our own Mantra Surface on top of that.
I will say that there are great things about the Mantra Surface Material design, though – in particular the separation of specular reflection from lights (direct) versus specular reflection of objects (indirect). However we did modify it to suit our production which has hundreds of objects of all manner of surfaces from ceramics, woods, various glasses, metals from patina'd brass to anisotropic steel to colourful anodized metal. It managed to solve them all pretty nicely at the end of the day.
We hope to share the overall shader design with SESI soon and maybe they'll see value in extending the Mantra Surface to incorporate some of these things. We have plenty of custom things in it to support quirks of our pipeline, along with debugging and optimization tools that obviously aren't applicable in a standard commercial shader.
Anyhow; good to speak to you again! And a note: we got this our show under control and it's performing quite nicely now…
Take care,
Jason
On our project we created our own bastardized version of the SurfaceModel VOP, and our own Mantra Surface on top of that.
I will say that there are great things about the Mantra Surface Material design, though – in particular the separation of specular reflection from lights (direct) versus specular reflection of objects (indirect). However we did modify it to suit our production which has hundreds of objects of all manner of surfaces from ceramics, woods, various glasses, metals from patina'd brass to anisotropic steel to colourful anodized metal. It managed to solve them all pretty nicely at the end of the day.
We hope to share the overall shader design with SESI soon and maybe they'll see value in extending the Mantra Surface to incorporate some of these things. We have plenty of custom things in it to support quirks of our pipeline, along with debugging and optimization tools that obviously aren't applicable in a standard commercial shader.
Anyhow; good to speak to you again! And a note: we got this our show under control and it's performing quite nicely now…
Take care,
Jason
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- pbowmar
- Member
- 7046 posts
- Joined: July 2005
- Offline
Hi Jason,
Sounds encouraging! It's great you'll be able to share back with SESI, for sure.
Obviously, I could also base our own custom Surface VOP on the SESI one, but we don't have the resources to do that and maintain it, like you do
Anyway, hopefully it'll keep moving forward in the H11 codebase, since a lot of the bits that need changing are simply exposing controls (SSS) or adding texture map slots (emission) which should be “safe” additions.
Cheers,
Peter B
Sounds encouraging! It's great you'll be able to share back with SESI, for sure.
Obviously, I could also base our own custom Surface VOP on the SESI one, but we don't have the resources to do that and maintain it, like you do
Anyway, hopefully it'll keep moving forward in the H11 codebase, since a lot of the bits that need changing are simply exposing controls (SSS) or adding texture map slots (emission) which should be “safe” additions.
Cheers,
Peter B
Cheers,
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
Peter Bowmar
____________
Houdini 20.5.262 Win 10 Py 3.11
- WhoDjini
- Member
- 94 posts
- Joined: Dec. 2008
- Offline
THANKS A LOT for bringing up this issue !!!
I was close to believe, H11 was somehow mad at me….
Had a render with roundabout 20k instanced objects, that ran, slooowly, but ran to the end. But when I wanted to render a close-up the only thing that came to an end was my RAM (and my Patience). Now knowing it is an issue with iomplicit displacement it makes sense how it behaved….
Now it starts rendering, at RAM is just moderately used (mantra uses ~400MB on average per frame)
Phew!! Thanks again for the pointer!!
If you can't script/program it, it's no good at all !
- Korhon
- Member
- 334 posts
- Joined: July 2007
- Offline
- Lu-Tze
- Member
- 15 posts
- Joined: Feb. 2009
- Offline
So: To your material add the following (new-ish) property: “Mantra 11.0 > Shaders > Disable Displace Shader Rendering (shop_disable_displace_shader)”, and turn it On.
I just don´t find that property. Could anyone point me in the right direction. Would love to see if disabling the displacement reduces memory usage and rendering time.
Lu-Tze
- carstenw
- Member
- 30 posts
- Joined: Aug. 2010
- Offline
I just don´t find that property. Could anyone point me in the right direction. Would love to see if disabling the displacement reduces memory usage and rendering time.
Lu-Tze
You find this under “Edit rendering parameters”. It helps to filter by “displace”. Have a look at the attached screenshot. Right click on the parameter and choose “Install parameter”. After that, you have the parameter available on the interface of the material.
Regards,
Carsten
-
- Quick Links