Jump to content

Slow Rendering


Recommended Posts

I have been modeling an Eagle in different pieces. I have the head and the body as one piece and the legs and claws as another. If I render the face and body with a sudDivide SOP set at 3, Mantra Renders it in about 5 seconds. And if I render out the leg and claws with the same iterations of subdivisions (3) it takes about the same amount of time 5 seconds. If I apply a merge SOP to both body parts of the Eagle and then feed that into a single subDivide SOP the render takes about 2-3 minutes.

I can't understand why it would make a difference in rendering time. I mean there is no more faces to render when the body parts are applied to a merge SOP (BTW the two body parts are still seperate pieces, haven't PolyKnitted the top of the legs to the bottom of the Eagles body yet.) I have tried saving the legs and claws geometry as a .bgeo and then using a file SOP to bring them back into the scene and then connecting it to the Merge SOP, didn't make a difference. <_<

Do you think once I PolyKnit the different body parts making them one single piece of geometry that the render time will go back to normal? I haven't tried this yet because I have alot of tweaking to still do on the legs, and basically want to know if this is a typical issue with Houdini. :(

Thanx in advance

Ben

Link to comment
Share on other sites

BTW is there a way to somehow reduce the number of Polys by instancing geometry. What I am driving at is something like using what Flash web pages use. Basically, if you have a ball in your web page used over and over in different places many copies, it only has to be downloaded once and Flash just instances the ball reducing download time. Through SOPs or Vex is there a way to do something like this in Houdini?

Link to comment
Share on other sites

There are a few sops in houdini which are "heavier" than others, Merge, ObjectMerge, and Delete are the first which come to mind. It has to do with the way they handle incoming data from the other SOPs.

Have you tried writing out the "merged" geometry to disk and reading that back, subdivide and rendering it. You can also use the Performance monitor to check where houdini is spending its time cooking.

Check out the performance monitor and see what it says. Let us know so we can help.

-k

Link to comment
Share on other sites

In answer to your second question, version 6 of houdini supports a renderman dso-like setup where you can have houdini load common geometry only at rendertime, thus freeing memory and cook time.

stu

Link to comment
Share on other sites

Hey guys

I tried writing out the merged geometry then brought it back in still is not working. Hopefully when I polyknit the legs to the body and forgo the merge SOP the rendering time will go back to normal. Still though, don't understand why a merge SOP would cause such a lag in Mantra, could someone with a little tech knowledge of Houdini explain this?

BTW where and what is the performance monitor?

" version 5.5 of houdini supports a renderman dso-like setup too

...even "RunProgramm" :blink:

Not sure I understand that. Besides I am using the Apprentice edition don't believe I will be able to utilize anything from Renderman. Sounds cool though.

Link to comment
Share on other sites

Performance monitor.

You can find it under the Dialogs menu at the top of houdini.

I believe there is a pdf some where which will help you figure out what is going on.

Just another thought. Can you use an AddSOP instead of the Polyknit? Depending on how dense your geometry is, it might be a bit of work but the concept is the same. Just go to the second page in the AddSOP and just start stitching from point to point. Then try the same render process.

Also I read on the sidefx forum once that if you are just left clicking with the polyknitSOP you will be using "meta" edges only. They are a bit more process heavy because it is "intelligently" looking at the geometry and trying to figure out how to do the stitching. Before you go all AddSOP crazy, try the polyknit with again, but just use the middle mouse button when you click from point to point. You might have hit a snag in the software, ie a bug.

If I find that pdf, I'll try to post it for everyone.

Good luck

-k

Link to comment
Share on other sites

I am getting pretty worried here. I have tried all sorts of things and nothing is changing.

1. First I tried saving out the geometry from the merge SOP and started a new scene and used a File SOP to import the eagle, same long ass render time.

2. I thought I was on to something because I deleted the old merge SOP and replaced it with a new mergeo SOP . When I did this I noticed that on the merge SOP nodes attribute that the "Node Cook time" went down considerably and the "Total Cooks" went down as well. But after moving around the scene and checking out different nodes I came back to the Merge SOP and the "Node Cook Time" and "Total Cooks" had gone back up. I guess I am not understanding what these attributes on the nodes really mean. Is total cooks the number of times you have put the display flag on that node?

3. I also tried locking the merge SOP, so the network would cook up to that point, no change.

4. I would of tried to delete History on the entire network, but I couldn't find it. Don't you just right-click on the node and the Delete History option is there, I remember seeing it before, weird.

kenny- I haven't tried the add SOP yet, because I did alot of Edit SOPs after the Poly Knit SOP and would loose alot of work, basically kills all the SOPs after the polyknit if it is taken away, but if all else fails I will try it.

Like I said I am getting worried. I haven't even modeled my wings yet or tail feathers, and I expect to add alot more to the scene then just the eagle. Is there another SOP that I could use besides the Merge SOP to bring the different body parts together, that isn't as heavy on Rendering time?

Link to comment
Share on other sites

Here is an image of my network where the two body parts come together

On the leg and claws chain the Polycount is about 120,000 this is after applying a mirror and a subdivide of 3

The body and face chain is about 37,000 Polys after a mirror and subdivide SOPs

You proabaly are wondering why I have two subdivides and two mirrors, this is just for testing purposes, I did rearrange the ops by applying the mirror and subdivide SOPs after the Merge SOP, but this didn't change anything, I think all my problems lie with the Merge SOP.

If you are interested here is the scene file.

post-15-1047067984.jpg

Link to comment
Share on other sites

OK, well I'm no expert, and what I think may be totally off base, but I'm going to give my opinion anyway.

Using the subdivide SOPs the way you did is creating a ton of extra work for the renderer. Setting them to a depth of 3, is generating a whole ton of extra polygons to cull and increasing the size of your scene greatly. When I use subdivide SOPs to smooth a model, which is almost never, I don't apply them until after the whole model is built. So remove those two subdivide SOPs and instead apply a single one at the end of the network before or after the SHOP.

Even better though, would be to just use the base polygon model, go to it's render tab in OBJ and render polygons as subdivision surfaces.

Second, you don't need to have the entire nework of your model in there. You can lock the SOPs at the ends of those chains and delete everything above them. Or, right click the SOP that ends each chain and save that geometry out and reload it through a file SOP. As it is now, all the SOPs are there, they are all unlocked, and they all have to cook before rendering can commense.

Lastly, you have your Ray Trace LOD set to 3, but you could probably get away with 2.

The following image rendered in about a couple minutes for me after making these changes to your file.

Very NICE work so far on the model BTW.

post-15-1047082743.jpg

Link to comment
Share on other sites

Man you rock :D

thank you for taking the time to help me figure this out, as well as everyone else, thanks.

To fix my scene what approach did you use? Did you cook the SOP network up to the Merge SOP and delete the rest? Delete history on the network up till the merge SOP?

One thing though, like I stated 3 post up, i did re-arrange the the network so both the legs and body were feeding into only one subdivide SOP and one mirror SOP. The rendering took the same long ass amount of time, I am really curious why the Merge SOP made the rendering time increase SO MUCH almost a 20 fold increase. Remember seperately each piece of the model with sub-D set at 3 rendered very quickly.

BTW you said that you almost never use a subDivide to smooth your models I was wondering what your technique is? Do you just continually render to see the smooth model using the render sub-D method, use a different SOP I don't know about. I looked at the render tab for the eagle object and was wondering how you control the level of sub-divisions when using the "Polygons as subdivisions option", there is all those different options too, do you understand them, like the "Subdivision from file".

I feel so much better know, I was loosing my shit, started to lose faith in Houdini for the first time, but everything is back on course. BTW thanks for the input on the model

Take it easy

Benjamin

post-15-1047086335.jpg

Link to comment
Share on other sites

BTW you said that you almost never use a subDivide to smooth your models I was wondering what your technique is? Do you just continually render to see the smooth model using the render sub-D method, use a different SOP I don't know about.

There's a few different things I do.

Sometimes I just fire off a low quality render to see how it looks.

Sometimes I use the method below with the depth of the Subdivide SOP set to 1 or 2 to get a basic idea of what the surface will look like.

http://www.sidefx.com/community/learn/mode...cage/index.html

When using the method above I do not render the subdivide SOP though. I just use it to see what's going on.

Lastly, and this one actually causes problems on Irix and Linux for me, but seems to work on Windows, I create a third pane, set it to an object viewport and use the render state while modeling. Here's a pic.

http://home.earthlink.net/~mdcronin1/image...rendersetup.jpg

It's just a polygonal cube with a red plastic shader and a displacement map that's set to render as subdivisions, and as you can see using the render state I'm able to see the final result as I work.

I looked at the render tab for the eagle object and was wondering how you control the level of sub-divisions when using the "Polygons as subdivisions option",

Again, I'm not an expert about this stuff, so hopefully someone will correct me if I'm wrong, but I think there's a huge difference between subdividing a model and rendering as a subdivision surface.

When you render geometry as a subdivision surface, I understand that Houdini is actually converting to a different surface type, a Catmull-Clark surface or the like, not a bunch of subdivided polygons. You can zoom in on your model and never see a hard edge. I'm not aware of any way to actually control the level of subdivision, or if it's even necessary.

When you use a subdivide SOP, it's still a polygon model, you just are basicly generating a whole bunch of extra geometry to make it look smooth.

there is all those different options too, do you understand them, like the "Subdivision from file".

They are all pretty clearly explained in the Objects help pdf. Basicly they allow you to do things like substitute a different piece of geometry at render time than the one you currently have loaded. You can also do things like defered or bounding box loading similar to a delayed read archive in renderman where the specified geometry won't be loaded until the renderer actually needs it or the renderer encounters a bound that you set up. Using these options will allow you and the renderer to work more efficiently when you are dealing with larger scenes.

I'll get back to the rest of your post in a bit.

Link to comment
Share on other sites

To fix my scene what approach did you use? Did you cook the SOP network up to the Merge SOP and delete the rest? Delete history on the network up till the merge SOP?

In the version I posted:

I deleted the two Subdivide SOPs.

I right clicked on the merge SOP and exported the geometry.

I right clicked thed merge SOP and "select all inputs"

I hit the delete key to delete all the selected SOPS.

I put down a file SOP and brought in the geometry I saved out and wired that in to the remaining network.

Alteratively, you could delete the subdivide SOPs, Lock the merge SOP, and delete everything above the merge. Before you do that though, I have sorta discovered something, and maybe someone who knows better could confirm or deny this.

The way your model is built, you just have the legs tucked into the body. For the heck of it I pulled the legs completely out of the body, and rendered. It seems to render a bit faster so I'm wondering if having intesecting primitives in a single object like that makes the raytracer and/or renderer work harder. Maybe you should get the legs stitched onto the body so it's all one object.

Additionally, I don't think the merge SOP is a problem. I use them alot and don't really have any problems with gigantic file sizes or slow renderings. I tried locking the merge and deleting everything else after removing the subdivide SOPs and it renders fine. I think the main problem is simply the ammount of polygons you are generating with the subdivide SOPs and possibly the intersecting primitives making the renderer work really hard on culling and maybe raytracing.

Link to comment
Share on other sites

had a look at your file and a reason it could take longer to render with the merger sop is because when i looked at windows task manager your file was using 300 mb of ram so when you rendered the whole eagle your computer proble run out of ram.

my computer was doing this then i had three large geometry when you rrendered them separetly they took 15 min when all three where rendered together it took 6 hours as the computer ran out of ram and the cpu was running at 5-10%

this is why i have got to learn how to composite well.

the eagle looks fat hope to see the finished model.

bren.

Link to comment
Share on other sites

I have a gig of DDR registered Ram so I don't think I ran out, but I see know I am not the only one to run into this type of situation.

Mcronin- i was wondering about interpenitration problems when rendering, just like in Dynamics, not a good thing to have going on in your scene. Eventually I will get those legs stitched to the body, actually working on that right now, what a bitch an eagle is to model, being only my sixth model ever i think is coming out alright. My first model was an asteroid, basically a sphere with a noise modifier applied, in 3d Max :D

I have alot to learn about poly modeling though, I still add way to much detail way to quick and end up suffering because of it <_<

BTW anyone have some ideas on modeling out some eagle wings, want to try and bypass modeling all those frickin feathers. Maybe displacemnets maps or maybe nurbs planes, not really looking forward to it, just the finished product you know. It needs to be fully rigged later on so the wings have to move realistically. Tuck underneath the back and expand to a full wingspan. :unsure:

mahalo to everyone,

Benjamin

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