Planetside Software Forums

General => Terragen Discussion => Topic started by: MoraFermi on February 14, 2011, 12:13:29 AM

Title: Bucket size tradeoffs?
Post by: MoraFermi on February 14, 2011, 12:13:29 AM
A question to developers: Terragen uses very large render bucket sizes, obviously for performance reasons. I tried to reduce bucket size quite drastically but did not observe much change in render times. With cpus growing mostly in core count not clock speed, cutting image into small number of chunks can drastically reduce the amount of processing power used to render the image (imagine 24 core system rendering an image cut to 32 chunks).

Therefore, does bucket size influence anything under the hood? I assume that it can affect render times through increased thread setup time and higher memory pressure.
Title: Re: Bucket size tradeoffs?
Post by: Volker Harun on February 18, 2011, 03:58:03 AM
I guess that some of your questions have been answered here: http://forums.planetside.co.uk/index.php?topic=11728.0

,-) Volker
Title: Re: Bucket size tradeoffs?
Post by: jo on February 18, 2011, 06:54:24 AM
Hi,

I haven't done a lot of testing with this yet but have found that 128x128 buckets tend to be faster than 256x256. However 64x64 buckets are slower than both.

The bucket size settings are still a bit experimental. I mean they work ok, but what they are best set to is still a little up in the air. I think they were added so people could at least try changing them and then give us feedback on what seemed to be working for them. It's possible the best setting will depend on your scene, as with many other things. For example if I was going to be rendering an animation this would be one of the settings I'd try changing in test runs to see what gave the best performance before I started rendering out lots of frames.

Regards,

Jo
Title: Re: Bucket size tradeoffs?
Post by: rcallicotte on February 18, 2011, 08:52:30 AM
Thanks Jo.  Good to know.
Title: Re: Bucket size tradeoffs?
Post by: MoraFermi on February 18, 2011, 09:32:19 AM
The scene definitely plays a big role here. For example, the "benchmark scene" renders nearly twice as fast with 64px buckets than 256px (mostly due to the fact that almost all of grass population is only in one corner and the default bucket chops the scene to nine buckets) while some very population-heavy scenes with fairly uniform distribution of objects show exactly the reverse effect.
Title: Re: Bucket size tradeoffs?
Post by: ajcgi on March 01, 2011, 05:57:46 AM
Late reply this, but I read this thread a week or so ago and didn't have the time to comment.

This isn't the only rendering system with a bucket approach. I've been using Mental Ray in Softimage for about 9 years now, which uses a similar bucket system. In situations where a complicated scene runs out of memory straight away, thanks to very high res textures or displacement maps and the like, it's a good idea to lower the bucket size so that each bucket is using less RAM and therefore more likely to render properly. Irritatingly the default settings in Mental Ray seem to be getting higher and higher with each revision of Softimage, so having quite so much experience of tinkering renders to be at their speediest is helpful.
It used to be that it was necessary to tweak the BSP settings, Binary Space Partitioning, which divided the scene up into chunks based on their position relative to the camera and then passed those into buckets. Tweaking that was a nightmare. That is automatic now and seems to work well.
So ultimately, render one frame or a crop best representing the detail and complexity of the scene, make a note of the time, tweak the bucket size, note the time again, etc.