Planetside Software Forums

General => Terragen Discussion => Topic started by: Kevin F on April 13, 2007, 07:35:56 AM

Title: render time question
Post by: Kevin F on April 13, 2007, 07:35:56 AM
Why is it that render times are not directly proportional to image size? for example, I've rendered an image at 320 x 240 which took 13min 42 secs, then the same image, same settings but at 640 x 480 takes 3hrs 8min! This is 14 times as long and not the 4 times as indicated by the increase in size of 4 fold.
At this rate (if linear) a 1280 x 960 image will take over 14 x 3hrs!
Am I overlooking something obvious?javascript:void(0);
Huh
Kevin.
Title: Re: render time question
Post by: rcallicotte on April 13, 2007, 08:14:21 AM
Maybe someone who programs procedural graphics could explain it with more scientific insight.    :o
Title: Re: render time question
Post by: DiscoBall on April 13, 2007, 11:51:02 AM
Perhaps your scene is complicated and rendering at a higher resolution may make Terragen work a lot harder ;)
Title: Re: render time question
Post by: old_blaggard on April 13, 2007, 11:54:31 AM
The way Matt explained it to me, if you make an image 4 times bigger and don't change anything else, it should only take four times as long.  Are you sure you only changed the render size?  Also, did you have any other applications going in the background?  Perhaps you had lots of objects and they had to populate for the large render but had already been populated for the small one.  There are lots of things that could account for a sharp increase in render time.
Title: Re: render time question
Post by: Harvey Birdman on April 13, 2007, 12:07:45 PM
I believe the non-linear relationship is due to system memory limitations, either in hardware or in the address space allocated for an app by the OS. If a machine had unlimited RAM and an unlimited address range for an app, then I think OB's theoretical linear relationship would hold true. But what I think happens is you exceed the available RAM for the app and it has to read/write an exorbitant amount of data to the disk. This slow things down considerably. There is probably an optimum image size, depending on the amount of RAM you're consuming with objects in the image and the amount your machine has to begin with. It's definitely non-linear, though - you can sometimes get much better performance (depending on the image, of course) by tiling it into smaller chunks than by trying to render the whole thing at once.
Title: Re: render time question
Post by: Kevin F on April 13, 2007, 12:20:15 PM
Quote from: old_blaggard on April 13, 2007, 11:54:31 AM
The way Matt explained it to me, if you make an image 4 times bigger and don't change anything else, it should only take four times as long.  Are you sure you only changed the render size?  Also, did you have any other applications going in the background?  Perhaps you had lots of objects and they had to populate for the large render but had already been populated for the small one.  There are lots of things that could account for a sharp increase in render time.

Well, no other applications going on, no populations (other than 3 lots of fake stones) and 2Gig of memory. I am using the reflective shader though.
Kevin.
Title: Re: render time question
Post by: sonshine777 on April 13, 2007, 12:54:00 PM
When you render at 320 x 240 are you using the quick render camera? Likewise when you render at 640 x 480 are you using the Full render camera? If so, the detail settings are higher for the full as opposed to the quick.

This will make a big difference in render time.
Title: Re: render time question
Post by: Kevin F on April 13, 2007, 01:05:01 PM
Quote from: sonshine777 on April 13, 2007, 12:54:00 PM
When you render at 320 x 240 are you using the quick render camera? Likewise when you render at 640 x 480 are you using the Full render camera? If so, the detail settings are higher for the full as opposed to the quick.

This will make a big difference in render time.

no, both at full render.
Title: Re: render time question
Post by: sonshine777 on April 13, 2007, 01:09:21 PM
Just thinking outloud. :)
Title: Re: render time question
Post by: child@play on April 13, 2007, 01:18:01 PM
well, technically it should be the same camera, just with different default settings, so i see no problem in rendering a preview with 'full render' when the quality settings are downsampled accordingly.
Title: Re: render time question
Post by: Oshyan on April 16, 2007, 01:09:33 AM
Generally speaking if you *only* change render resolution then render time should be in direct proportion to the number of pixels rendered. If you increase the total number of pixels by 4x (2x resolution in each direction) then render time should be about 4 times longer. I've confirmed this with my own tests on several reasonably varied scenes. This of course assumes that memory is not a limitation which in some cases it very well may be.

Note also that GI seems to have a somewhat unpredictable affect on the math for projecting render times based on resolution. Generally it works out fairly close to the expected time but it can be longer when GI is in use. Perhaps the GI sample density is nonlinear for scene resolution or something along those lines.

Without knowing more about the specific scene in question it's hard to say what might have been going on. We'd have to reproduce the problem here in order to troubleshoot it.

- Oshyan