Planetside Software Forums

General => Terragen Discussion => Topic started by: shadowphile on January 25, 2010, 04:11:15 AM

Title: a handy tip for speedy renders (when testing a subsystem)
Post by: shadowphile on January 25, 2010, 04:11:15 AM
I did a crop render of my scene with lots of nodes not in the path, like extra cameras, some function nodes trees not connected to anything.
4 minutes.
I then deleted all the extra nodes not relevant to my render.
3:17 minutes.

For some reason some nodes not relevant to the render still take up cpu time.  Disable them for faster renders.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: reck on January 27, 2010, 08:03:30 AM
That sounds like a bug, why would nodes not connected to anything slow down the render otherwise?
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: Tangled-Universe on January 27, 2010, 12:12:28 PM
Quote from: reck on January 27, 2010, 08:03:30 AM
That sounds like a bug, why would nodes not connected to anything slow down the render otherwise?

I'd not consider it a bug, rather a little mistake.
The reason is probably that the connected nodes form a flow/chain of calculations which are followed by the renderer.
I guess it (pre-)computes the nodes until a dead end is found, or not. Perhaps the renderer is not able to "see" if (parts of) the chain lead to a dead end or eventually at the planet-object.
Therefore deleting unused nodes might speed things up.
Just an uneducated guess though.

Cheers,
Martin
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: nikita on January 27, 2010, 01:55:29 PM
Also, there are nodes that aren't connected to anything and still affect the scene -  objects for example. So you can't just skip all unconnected nodes - you have to look at them at least once to determine that they don't do anything.
Also: Why would you as a user have unconnected nodes if you know they don't do anything?

I'd call it  "room for optimization".
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: Seth on January 27, 2010, 02:24:43 PM
Quote from: nikita on January 27, 2010, 01:55:29 PM

Also: Why would you as a user have unconnected nodes if you know they don't do anything?


because it can be useful for tweaking, saving tgc that can be used in different scales,  animation, and several other reasons I don't think about ^^
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: shadowphile on January 27, 2010, 05:50:59 PM
QuoteAlso: Why would you as a user have unconnected nodes if you know they don't do anything?
I occasionally (er, often) need to re-tweak the results of a subsection and temporarily disabling the rest of my setup makes that faster, if my whole setup is getting cumbersome and slow renders.

I sometimes get the impression that many of the artists on here who actually produce for others have certain set approaches to creating images that works for them.  I often see the response "Why would you bother doing that?"  and I want to reply, "Why would I NOT want to do anything I want?".  Being an explorer, an envelope-pusher, and not tied to customer demands,  I tend to spend a lot more time exploring what I can do with the program.  That often means seeing if I can make it work the way that I think, rather than learning to do it the 'TG' way.  YMMV.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: nikita on January 27, 2010, 06:02:20 PM
Yes - my point is:
"Why does TG2 evaluate those nodes?"
"Well, why do you have them in the first place?"
You might as well blame the user for not deactivating his nodes. Which is one reason I don't call it a bug. That is all.

In fact, my networks have plenty of unused nodes too.  ;D
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: Henry Blewer on January 27, 2010, 06:07:22 PM
I disconnect things when I discover problems. When I have worked it out, I delete the unused nodes.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: dandelO on January 27, 2010, 07:48:29 PM
My default project has MANY unused nodes, these can be disabled/enabled at the drop of a hat. If they are greyed out(disabled), then they should not be calculated at point of render. Simply select and hit key 'D' to disable any unused nodes completely before rendering. Couldn't be simpler.
Usually when I get to the point of rendering a final scene, I'll delete unused nodes anyway, so it doesn't really matter to me whether I have nodes or not that are being used, since my defaults use nodes of all sorts that are probably un-needed. It isn't hard to hit key 'D', or whatever shortcut you have assigned for the disable function.
Seemples.com.meerkat/market.com. :D
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: Oshyan on January 28, 2010, 12:32:30 AM
Indeed, Disable should be used in combination with, or in some cases even instead of disconnecting. It would be interesting for you to test whether disabling will give you the same performance benefit as deleting.

- Oshyan
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: jo on January 28, 2010, 06:28:53 AM
Hi,

When you disable a node the values from further up the chain pass through it like it wasn't there, so you don't need to disconnect nodes just to stop them having an effect on the scene. Technically I suppose there is some overhead, but I would surprised if it made any sort of noticeable difference.

I'm not sure why disconnected nodes would be contributing to render time, that's Matts domain.

Regards,

Jo
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: nikita on January 28, 2010, 06:48:40 AM
Quote from: jo on January 28, 2010, 06:28:53 AMWhen you disable a node the values from further up the chain pass through it like it wasn't there
Except for the water shader, unless this has been fixed in 2.1.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: dandelO on January 28, 2010, 11:08:50 AM
Quote from: nikita on January 28, 2010, 06:48:40 AM
Quote from: jo on January 28, 2010, 06:28:53 AMWhen you disable a node the values from further up the chain pass through it like it wasn't there
Except for the water shader, unless this has been fixed in 2.1.

It hasn't, I noticed this the other day. The water shader doesn't react to being disabled. It'll still render water.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: Markal on January 30, 2010, 09:15:27 PM
Sometimes I delete a node like a shader that did not produce the desired effect...the problem is the associated or add on nodes are not deleted...i.e.  the distribution shader or an image map shader or nodes added to control the color function or luminosity function.....(that I had connected to the deleted node)....they set there unconnected and unused....hmmm...don't know if they add to the render time or not....or if it is a bug?....it would be hard to delete the added on or connected nodes with the selected node you want deleted without deleating all connections.  Does that make sense....to anyone???  What did I just say??? :) I will test it on a small render and post the results...give me some time :)
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: dandelO on January 30, 2010, 09:49:22 PM
I'd delete or disable all nodes that aren't specifically required for the scene before doing a final render. If it's final, unused nodes are really not required. Why even bother with 'em? Delete everything unused, save your project as an incremental file and render that instead of the working project.

I think that most times, even this will be negligible. ??? Unless you have some really complicated node setups in there.
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: FrankB on January 31, 2010, 11:33:53 AM
why has DandelO become a guest account???  ???
Title: Re: a handy tip for speedy renders (when testing a subsystem)
Post by: RedSquare on February 07, 2010, 12:08:54 PM
Because he's an desirable alien    ;D