Jump to content

why mantra renderer is so so so slow?


Guest Swann

Recommended Posts

What did the ram peek for at those scenes we can see in the trailer? I find mantra very ram eating.

We got a 12gb ram limit at our houdini pool, and we do peek 12gb ram alot :)

Our average frame took about 6 Gb; and this usually represented a couple of million polygons and 2Gb of texture RAM. We did very little displacement, in fact disabling Mantra displacement shader generation for most shaders. SESI have quite recently upgraded their Mantra Surface to disable the displacement shader if unused too. Executing an unused displacement shader, even if True Displacements were off yielded ~50% performance impact -- and a RAM impact too.

We were very careful with the defining the minimal possible point attributes on our geometry. It's easy to define too many unneeded attributes, so be careful to trim it all down. We defined our geometry using our own crowd-plugin read-archive style plugin so IFDs were pretty damn small.

What are you rendering? FX stuff? Hard surfaces? Perhaps try some again with using the new Mantra Surface and checking your attributes, etc and see if it's any better.

Also what colorlimits do you guys use? I tend to put it to 2 for clamping out the worst noise. But it does kill the range a bit sometimes.

We set it to 5.0. I think on one shot we set to 2.5 or something, just to get it done. :)

If rumours are true, Houdini 12 can define potentially much more efficient geometry, so I'm excited to see where it goes.

Link to comment
Share on other sites

Thanks for the detailed answer Jason! :)

We render all kinda stuff. Paricles and instancing is probaly the biggest reason we peek 12gb ram.

http://www.youtube.com/user/Gimpville#p/u/6/FtNEs747VQg (like this scene) 2000x5million polygon trees.

and this scene was pretty ram eating!

http://www.youtube.com/user/Gimpville#p/u/1/BfyglUPpBhY

And we do use 12cores computers alot, so thats another reason we get a high ram peek.

I alway try to have as little pointattributes as posible. Usualy its just N and uv on geometry.

With instancing im experiencing that the Mantrasurface is taking way to much ram. Even if i disable displacements an all other fancy stuff.

So we made our own lightweight shader for instancing purposes. Just a lambert and a specular :)

Wednesday, May 25, 2011

Houdini 11.0.756: Improved memory use for point rendering in mantra.

Havnt got to try this build yet. But will do soon!

Link to comment
Share on other sites

As our request, SESI added this functionality:
Houdini 11.0.485: Add the ability to dynamically control the number of rendering threads in a tile callback. The new property "tile:threadlimit" (only available to tile callbacks) can be used to set or retrieve the limited number of threads being used to render. "tile:threadlimit" can only be set to values between 1 and "renderer:threadcount", and is reset between renders.

Ha! Didn't know that. Thanks Jason, very interesting! And HOP looks really nice indeed! Are you saying that all interiors were rendered by Mantra PBR? Looks like PRMan is following physical rendering also. Did you tried it already?

Also, may I hijack this thread a little and ask about your usual considerations about network traffic? Which rates of transfer do you consider as an issue? Have you considered of using network caches similar to what 3dlight has?

I haven't done tests on where is a limit of Mantra texture traffic, because it does it so well, that all issues were solved from IT side (by configuring switches mostly). We occasionally have peak traffic around 1GB/s on a farm, and it does work perhaps because this is relatively small system (but we had textures around 14GB per frame a few times).

Basically I wonder this: random access of RATs makes usable big textures, but streaming them over a network introduces own problems. At which point this is an issue and calls for solution like local cache for renderer?

skk.

Edited by SYmek
Link to comment
Share on other sites

With instancing im experiencing that the Mantrasurface is taking way to much ram. Even if i disable displacements an all other fancy stuff.

Not sure if this is somehow related, but there is (was*?) a funny yet problematic issue related to instances that share shaders with attributes overwrites. We've faced it recently, and fortunately got tip from SESI how to deal with it. Basically imagine you have plenty of instances (+500), and Mantra renders it nicely. Now you randomize some attributes to drive shaders, render it again, and Mantra slows down dramatically. What's happening? As it turns out, Mantra tries to optimize shaders per instance whenever its attributes vary. In extreme case (hundreds of instances), it takes so much time, that it ruins advantage of instancing.

If a scene allows (and imho most does), one should quantitize attributes to allow only limited set of values. In most cases there is no visual difference between 1000 unique colors, and say 20, but the latter one allows Mantra to perform much better.

cheers,

skk.

* - Wednesday, May 18, 2011

Houdini 11.0.749: Improved memory use and performance in scenes with

instancing where an identical surface and displacement shader is used

on each instance object.

Edited by SYmek
Link to comment
Share on other sites

definitely. I´m learning so much from Mantra just by reading this thread :) I still don´t quite understand why instancing is so much of a RAM-eater in Mantra. I´ve used this technique in other render engines and supposedly it saves resources, not hurt them. Still, with Mantra I tend to lack enough RAM now and then...:/

Edited by Netvudu
Link to comment
Share on other sites

  • 1 year later...

ive benchmarked 3delight and Mantra and I found in mesh renders Mantra is atleast 40 % faster and the level of detail that we get with the same pixel filters is higher in Mantra. Especially when its reflection its super detail Initially i thought it might be becoz of filters but finally realized that its becoz of the engine. For a given time frame i felt mantra doing best quality. Even memory foot print util is also lesser when compared to other renderers... we are not speaking Mental ray or Maya software renders since they dont even come close in it flexibility. But mantra is pretty good.

Link to comment
Share on other sites

Time ago I did test with animation where I had thousands of cubes moving to sound rhythm, To get some depth, I rendered with PBR and with AO light. On 720p Mantra was about 30% faster than Vray on same scene in Maya.

Also I once had geometry with heavy displacement, Mantra used 4 to 5 times less memory than Vray (with optimization).

There is some things where mantra can do realy good.

Just my 2 cents.

Edited by Tom
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...