ajz Posted April 27, 2015 Share Posted April 27, 2015 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. Quote Link to comment Share on other sites More sharing options...
Guest tar Posted April 27, 2015 Share Posted April 27, 2015 Check the threading performance too IIRC. Quote Link to comment Share on other sites More sharing options...
Skybar Posted April 28, 2015 Share Posted April 28, 2015 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. Quote Link to comment Share on other sites More sharing options...
crunch Posted April 28, 2015 Share Posted April 28, 2015 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. 1 Quote Link to comment Share on other sites More sharing options...
ajz Posted April 28, 2015 Author Share Posted April 28, 2015 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... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.