PDA

View Full Version : Inexplicable long render times



kangonto
03-02-2016, 02:09 AM
Recently i'm making a series of interior scenes. More or less, the parameters for lights, render options and materials are similar in each scene. The same with polygon count.

But a few of those scenes are producing much longer render times for no known reason. What usually takes a whole night to render (6-9h at 4xxx), takes more than 24h on those scenes.

Any idea of what to do to solve or minimize this problem?

I'm using LW 11.6.3 on an Intel Q9500 Quad Computer (8GB RAM) with Windows 8.1

The render parameters for all the scenes (with minimal variations).

132697

Help in advance

sukardi
03-02-2016, 02:38 AM
Quite difficult to tell without looking at actual scene. My guess is that particular image has large area of surface with blurred or multiple reflection...

spherical
03-02-2016, 02:52 AM
Of the top of my head, without having a scene to look through, I'd offer:

Use Gradients is depreciated. Turn it off.
Shading Samples can go to 1.
Camera Minimum Samples can go to 1.
GI Multiplier can to go 50%.
Use Behind Test - try it on/off to see if you need it.
Adaptive Sampling Threshold could go up to 0.03 - 0.07. or perhaps higher, without noticeable difference, seeing as how your render resolution is so high to start with.

kangonto
03-02-2016, 03:33 AM
@sukardi
Yes. There are a lot of blurred multiple reflections, but it's the same on all the scenes, even those with normal render times.

@spherical
Those parameters are quite similar on all the scenes, so, yes, probably i'll get better render times if i tune them, but the problem is the huge difference between scenes. I think is related with geometry.

The render apparently get 'stuck' just after GI, taking forever before antialias passes.

I'm trying to isolate the problem.

Thanks for your answers.

Kaptive
03-02-2016, 03:36 AM
If you can share a rendered frame of the scene with the problem and one without, it might be easier to spot the source of the problem (rather than sharing the scene etc). Just a thought.


Other thoughts...
Is motion blur on? Is there some weird fast camera move that is bumping up render time on the frame/s you are rendering?

Are you using volumetrics? If the camera is "inside" the volumetric, that can really bump up render times.

kangonto
03-02-2016, 03:57 AM
@kaptive
Ok. i'm sharing two renders. But they are very similar.
No motion blur or volumetrics.

This takes forever
132711

This is OK
132712

Kaptive
03-02-2016, 04:12 AM
Hmmm, yeah, you're right... they really are similar on content. How odd.

Well, I'd approach this through a process of elimination.

First, turn off raytrace reflections in the render tab, then render. See if it is back to normal render times. If so, then you know that is where the issue resides.

If that doesn't seem to identify the problem, it might be worth (so long as they are all seperate objects) unticking individual (suspect) objects in the scene editor and render again. You might be able to identify the criminal!

I'd maybe turn off radiosity too while you are doing this.... save yourself some time.

Open up both scenes in seperate instances of LW and just go through each tab on the camera/render panel and compare settings. Make sure you haven't missed something.

It'll be something annoyingly simple!!

edit: To be fair, looking again at the images you posted, the one that is taking longer certainly seems to have a lot more reflective surfaces. Like that lamp? It seems quite complicated with a lot of geometry. Try turning off reflections on that object perhaps.

kangonto
03-02-2016, 04:36 AM
When i turn off Raytrace reflections, render times descends to 1/4, but... It seems quite logical to me. I want those reflections on.

I've already done the elimination process. After unticking every object by turn, all render times don't vary too much. Except, maybe, the container itself (the room). Without it, render times comes to 1/4 again, but, i'm not sure if it's logical or not, because by eliminating the room i get less light rebounds.

I'm optimizing the room, it has a lot of fast and dirty work on it.

Kaptive
03-02-2016, 05:16 AM
It is a tricky one to be sure!

Another one... what about image sizes? One hidden difference between the two images you posted might be that the long render time scene could have an image that is gigantic(?)

If there is, try replacing it with one half the size. I've seen big speed increases by doing this on some scenes. I mean, meaybe you are at the boundary of your computers memory. Have you checked to compare how much memory is being used in that scene compared to the other ones? If it is using the hard drive as opposed to memory, that might be a big thing. I know that when I bumped up my PCs memory a while back, from like 8 to 24 gigs, I saw massive speed increases on my more complex scenes.

kangonto
03-02-2016, 05:43 AM
No big images in the scene. At render time scene takes only 900MB.

I have the same problem after optimization. I'm tempted to start from scratch.

Kaptive
03-02-2016, 05:55 AM
I have to say that I'm at the limit of suggestion really. Without being able to pick apart the scene (which it sounds like you've already done) not sure what is left.

Maybe just reduce the amount of reflection bounces and just go with it... Sorry I couldn't help pin it down. So weird.

kangonto
03-02-2016, 05:57 AM
Thanks for your efforts. I keep trying

unstable
03-02-2016, 06:41 AM
I don't really know much about render settings and such but IMO there is a big difference between the scenes you provided. In the scene that takes forever there are a lot more reflective surfaces than in the one that doesn't take long. I suppose it depends how these reflections are being produced, but it seems to me that could be contributing to at least some of the difference in time. I wonder what would happen if you used the same material on the cabinets in the long running scene that you used in the faster scene?

kangonto
03-02-2016, 08:15 AM
Those materials which appear to be not reflective in fact has some reflection in it, but more blurred and of lower magnitude. So the difference is only visual, not on calculation cost.

spherical
03-02-2016, 02:22 PM
Those parameters are quite similar on all the scenes, so, yes, probably i'll get better render times if i tune them, but the problem is the huge difference between scenes. I think is related with geometry.

The suggestion was to try changing those and test to see if any of them make a difference, in both the fast and slow scenes. Differing geometry and textures can have massive influences that one would perhaps assume to be irrelevant.

Just an added observation, your reflection values seem to be far above that which a real Fresnel equation would produce. If the reflection values (which are measured in %) are low, their influence will have less and less impact as the rays go from surface to surface and eventually extinguish. Extinguishing sooner is better. There is little point in having a reflection in a reflection in a reflection that is now so far away you can't tell what it is. Setting lower values will also reduce or eliminate much of the reflection blurring; something that is, depending upon how you are doing it, very costly in CPU time.

BeeVee
03-02-2016, 02:47 PM
Do you have luminous polys in the first scene? Your GI settings are for five bounces, which seems a little excessive, and luminous polys are slower than lights. Perhaps it's that?

B

sukardi
03-02-2016, 05:26 PM
Ok. Just a wild guess.

You don't really need a 100% radiosity multiplier on a 4K image, especially with a 8Gb Machine. Try to reduce it to 25%. If you want sharp details on the corners, you can try multiplying your image with an ambient occlusion pass (using the free dp nodes).

kangonto
03-03-2016, 02:04 AM
@Spherical

Well, aparently, the problem is somewhat related to that you pointed.

LW versions prior 11.5 (i think), were much slower when using reflection blurring (when not using nodes). By that time i was using Kray Tracing and i was happy with it. Then LW11.5 came, and after some tests, i discovered that reflection blur was a lot faster, so i jumped into LW's render engine again.

Well, the fact apparently is, that the big improvement with reflection blurring is related to some optimization when is being used. When activated, reflection blurring simply ignores bounces after some point.

My point is that when i'm using a scene with reflection blur on all reflective materials, a lot of light bounces are ignored because are not needed. On the other hand, if some of those materials doesn't have any reflection blurring and at the same time have a high presence in the scene, then all bounces have to been calculated for that material and the render time increases dramatically.

This also explain, some artifacts occurring on reflective surfaces with very low reflection blurring (0,2% or so). When those materials reflects other materials with some reflection blurring on it, the reflections on the first material are incorrect because of ignored bounces, like in the image:

132727

So, conclusion: fine tune materials using nodes depending on the case, Limit ray recursion, etc.

I'm having a lot more reasonable render times on those scenes now (to a half or so), although there's even more space for improving, but i don't have the time for further tests.

Thanks to all. I'm taking note of all your suggestions.

Matt
03-03-2016, 06:33 PM
Recently i'm making a series of interior scenes. More or less, the parameters for lights, render options and materials are similar in each scene. The same with polygon count.

But a few of those scenes are producing much longer render times for no known reason. What usually takes a whole night to render (6-9h at 4xxx), takes more than 24h on those scenes.

Any idea of what to do to solve or minimize this problem?

I'm using LW 11.6.3 on an Intel Q9500 Quad Computer (8GB RAM) with Windows 8.1

The render parameters for all the scenes (with minimal variations).

132697

Help in advance

Something to note.

GI min / max pixel spacing is (obviously) in pixels, so if you were doing tests at a lower resolution (not the 400% multiplier you have) and things looked okay, when you increase the resolution, you can also increase the min / max pixel spacing in the GI options by the same amount, that will save some time.

Matt
03-03-2016, 06:44 PM
Do you have luminous polys in the first scene? Your GI settings are for five bounces, which seems a little excessive, and luminous polys are slower than lights. Perhaps it's that?

B

The opposite is true.

Matt
03-03-2016, 06:49 PM
@kaptive
Ok. i'm sharing two renders. But they are very similar.
No motion blur or volumetrics.

This takes forever
132711

This is OK
132712

I see you have 'Use Bumps' on, does one scene have a lot of bump mapping and one does not? Because "Use Bumps" with Interpolated GI can really increase render time, as there are a LOT more samples generated for the detail in the bumps.

kangonto
03-04-2016, 02:05 AM
Something to note.

GI min / max pixel spacing is (obviously) in pixels, so if you were doing tests at a lower resolution (not the 400% multiplier you have) and things looked okay, when you increase the resolution, you can also increase the min / max pixel spacing in the GI options by the same amount, that will save some time.

Maybe I could lower render times by changing those params, but i think it would only affect GI pass, which is not what's taking forever.
Also, I'm not sure about the benefit from this. On smaller renders you can't see problems which could be visible on bigger ones. But, ok, I suppose I could find a reasonable threshold. (Sorry if my English sounds a little strange sometimes).


The opposite is true (about luminous polys slower than area lights)

That's what I used to think, but I don't have any of those.


I see you have 'Use Bumps' on, does one scene have a lot of bump mapping and one does not? Because "Use Bumps" with Interpolated GI can really increase render time, as there are a LOT more samples generated for the detail in the bumps.

Actually there is a lot more bumps on faster scene, but yes, I could again lower render times by unticking 'use bumps' on the slow scene and then render locally the towel with 'use bumps' on.



While dissecting the scene I discovered a surface (The scenes wasn't prepared by me at first time) which has some refractive blurring when isn't actually really needed. I think setting it off will also help.

But... I think there's something more. I remember some time ago I had a similar problem with a scene which, at some point, after a minor change, had its render times dramatically increased. I noticed that and touched the geometry of the suspicious object (which surprisingly was a quite small one and with a low polygon count), or applied a little offset to it (can't remember exactly), and everything went back to normal. But I set that scene from the very beginning and could notice the problem when it ocurred. The actual scene is not the same case, that's why I tempted to start from scratch but I don't have the time. Any of you have had a similar problem I've just mentioned?

spherical
03-04-2016, 02:21 PM
Maybe I could lower render times by changing those params, but i think it would only affect GI pass, which is not what's taking forever.

It is always interesting that a person asking for advice from those having experience and, therefore, deeper knowledge, that they immediately discount that which doesn't fit their pre-conceived view of the problem. I'm hope that Matt and/or Lino and/or other users will share whether this is true (I'm always looking to learn new things), but GI solution is not the end of the issue. It is calculating how much illumination is striking a surface and what color it is. It is also generating more rays that need to be calculated. If you have an object and/or surfacing that is complex, there are more rays generated that need to bounce until they are extinguished. If these rays are essentially unnecessary, optimize the objects/scene settings to eliminate them until said elimination actually produces a negative result in the render. IMO, setting 0.2% reflection blur is a bit nitpicky. If this is going on everywhere, it is going to add up.

Perhaps you feel that having reflection blur applied is necessary in cases where it really isn't because your reflection percent is so far above the Fresnel curve. If you get them down to it, you'll likely find that the majority of surfaces really don't need RB to be applied at all. Try it.


Actually there is a lot more bumps on faster scene, but yes, I could again lower render times by unticking 'use bumps' on the slow scene and then render locally the towel with 'use bumps' on.

Why would you want to add a bunch of, IMO, unnecessary calculations for something like a towel to the GI solution? Not going to test it, but I'll wager that neither the towel or the render will show any change, if the towels is surfaced properly in the first place. If there are more instances of this type, I'll also wager that all render times will improve, once you get rid of calculations that are not really doing anything but using CPU cycles that get thrown away. I do a lot of ArchViz and never have needed "Use Bumps".

Tranimatronic
03-04-2016, 04:43 PM
But... I think there's something more. I remember some time ago I had a similar problem with a scene which, at some point, after a minor change, had its render times dramatically increased. I noticed that and touched the geometry of the suspicious object (which surprisingly was a quite small one and with a low polygon count), or applied a little offset to it (can't remember exactly), and everything went back to normal. But I set that scene from the very beginning and could notice the problem when it ocurred. The actual scene is not the same case, that's why I tempted to start from scratch but I don't have the time. Any of you have had a similar problem I've just mentioned?

moving a small low poly (but highly reflective) object to a place where it now reflects one (or more) other highly reflective objects (that may be outside the camera frustrum) will cause the renderer to have to calculate pieces of the scene it previously didnt have to, dramatically increasing rendertimes. Try not to put mirrors near other mirrors in you scenes. Reduce your ray recursion limit.

kangonto
03-05-2016, 06:58 AM
moving a small low poly (but highly reflective) object to a place where it now reflects one (or more) other highly reflective objects (that may be outside the camera frustrum) will cause the renderer to have to calculate pieces of the scene it previously didnt have to, dramatically increasing rendertimes. Try not to put mirrors near other mirrors in you scenes. Reduce your ray recursion limit.

If I remember well, it was a very very small offset, just to avoid an intersection (can't remember exactly), and maybe some geometry retouch. Nothing important changed, the same things reflecting the same things.

kangonto
03-05-2016, 08:08 AM
@Spherical

I'm a Lightwave user since Amiga Times. Perhaps I haven't been a very intensive user, but I have some experience about how material and render parameters affect render times. Yes you are right, some of the optimizations you've mentioned would probably help to reduce render times (and I applied some of them with some result, but nothing spectacular). But I'm talking about a H U G E difference between very very similar scenes. I'm talking about a difference between 6h and 50h (roughly estimated, possibly even more) of render time. I know there's something more, I'm sure. The fact is that I'm tired of making tests. I needed the job done and now it's done.

When I have the time, I'll remake the problematic scenes (the person who set the scenes for the first time has very bad habits: overlaping geometry, duplicated geometry, duplicated objects) and I'll post my conclussions here.

One more thing: When I had my renders finished (yes, the eternal ones), and tried to open a new scene, I noticed LW was running extremely slow (at some point unresponsive for Task Manager) although CPU was near 0%, but not totally unresponsive, because the scene was still loading (very slowly). Maybe at some point during render, something went wrong which caused LW to run painfully slow. I also noticed that during render, LW turned unresponsive for long periods of time. I think the problem is related to some nasty bug, derived from some geometry mess (just guessing).

But, don't get me wrong, I appreciate your efforts and valuable ideas, but, I'm stubborn, when I have an intuition about some problem, I don't give up until I probe me wrong (or right, I hope).

Thank you, sincerely