Jump to content

Mantra: OpenSubdiv CC much slower than Mantra CC. Why?


Recommended Posts

So, I've been doing a lot of rendering recently and have noticed that if I set an object to be rendered as OpenSubdiv Catmull-Clark (via Render Polygons As Subdivision), Mantra takes several times longer to prepare the geometry than if I were to use Mantra Catmull-Clark algorithm. Is it simply because Mantra isn't optimized to use OpenSubdiv, or is there some other reason behind it?

I'm just curious.

Link to comment
Share on other sites

I tried subdividing a cube (with the Subdivide SOP though, not at rendertime) - and OpenSubdiv was slightly faster there every time. Maybe your mesh contain triangles or other oddly shaped polygons that OpenSubdiv have a harder time working with? I don't know.

Link to comment
Share on other sites

So, I've been doing a lot of rendering recently and have noticed that if I set an object to be rendered as OpenSubdiv Catmull-Clark (via Render Polygons As Subdivision), Mantra takes several times longer to prepare the geometry than if I were to use Mantra Catmull-Clark algorithm. Is it simply because Mantra isn't optimized to use OpenSubdiv, or is there some other reason behind it?

I'm just curious.

OSD isn't thread safe for the operations that mantra currently uses (updating the Hbr topology).  So, only a single thread can refine at a time.

 

The SOP doesn't process groups (which is an outstanding bug), which may be one reason there's a performance boost there.  But in general, I believe the OSD code is a little more efficient than the Houdini libraries.

  • Like 1
Link to comment
Share on other sites

Check the threading performance too IIRC.

OSD isn't thread safe for the operations that mantra currently uses (updating the Hbr topology).  So, only a single thread can refine at a time.

 

Indeed, this looks like the culprit! I just made a quick test and OpenSubdiv CC uses a single core only, while Mantra CC takes advantage of almost all cores. Geometry preparation of a scene consisting of about 1.3 million primitives took Mantra CC around 40 seconds, while with OpenSubdiv CC it reached a whopping 11 minutes. This disproportion is quite extreme.

 

 

The SOP doesn't process groups (which is an outstanding bug), which may be one reason there's a performance boost there.

 

A few days ago I submitted a report regarding this issue. Hopefully it will be fixed someday...

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...