POV-Ray : Newsgroups : povray.competition : Need help with render... fast! : Re: Need help with render... fast! Server Time
24 Apr 2024 14:44:38 EDT (-0400)
  Re: Need help with render... fast!  
From: Slime
Date: 24 Jan 2005 13:02:29
Message: <41f53835$1@news.povray.org>
> Biggest memory hog -- heightfields (the images alone are 100 MB)
> The heightfields are non-negotiable as I've seen the mediocre results of
lower
> resolutions from test images.

How large of an area do these height fields span? I would guess that you
have, say, a ground height field which goes from the foreground to the far
distance. This could be split up into multiple height fields; maybe two: one
for the foreground (keep the high detail on this one), and one for the
background (reduce the resolution significantly for this one). Cut the
foreground area out of the background height field by differencing it with a
box. If you have an extreme distance from the foreground to the background,
you might even use *three* levels of detail in this way.

You're saying "heightfields" as a plural. If any of these height fields are
identical, then make sure you're #declaring them once and using the same
object multiple times, since I think this will save memory the same way that
duplicating meshes does.

> Next hog -- bird meshes (each is unique, 183x73 grid resolution)

If you only have 10 bird meshes, as you say, then this shouldn't be too much
of a problem - unless the meshes are so incredibly huge that one bird alone
takes up a ton of memory, in which case you can probably reduce the
resolution. But I wouldn't suspect this is a problem (especially since mesh
duplication doesn't take up a lot of memory).

> After that, lava (28,000 small isosurfaces, some with media steam plumes)

Yikes. That's a lot of isosurfaces. I'm not sure exactly how lava
necessitates the use of multiple separate isosurfaces, but I'll assume that
they're each separate objects. (Maybe bubbles of some sort?) Again, let me
assume that you have some in the foreground and some in the distance. Keep
the isosurfaces in the foreground, but for the background, make an image map
of what these things should look like. Then write a single mesh, and for
each isosurface in the distance, use two triangles in the shape of a square,
UV-mapped with this image map so that it looks like the isosurface would
look but without the expense of memory. (This will also render faster.)

> Then, plants (25,000 meshes, 2% are mesh union flowers, the rest are grass
blades)

Are these all separate meshes? You could save a lot of memory by reducing
the number of meshes you're using (10 to 20 should be plenty) and
duplicating the same ones over and over (rotating them randomly to simulate
variation). Try also reducing the density of plants in the distance, and
even eliminating them entirely when they're off camera or behind hills or
other large objects (use the trace() function to determine this).

> The birds had light-sources inside their hollow bodies to light up their
> eyes--replacing them with "ambient light", or ambient finishes with
radiosity,
> should help.

That should definitely speed up the render time, though it might not make a
big difference in memory usage.

> I have already toned things down as much as possible (10 birds, 25,000
plants)
> but I am still experiencing 2.45 GB peak usage and 1.95 GB steady usage.
>
> What now?

I tried to give suggestions for each part of your scene, but first, do this:
comment out each element of your scene and, one at a time, uncomment an
individual element and render with a resolution of 1x1 (+H1 +W1). Do this
for the height fields, the birds, the isosurfaces, the plants, etc. For each
one, note the amount of memory being used. I wouldn't be surprised if one of
them uses much more than the others. Focus on the things taking up the most
memory first.

You're welcome to email me ( http://www.slimeland.com/contact/ ) with your
scene if you have no luck, and I'll see what I can do; I offer this to you
because time is running out. But first try my suggestions on your own.

 - Slime
 [ http://www.slimeland.com/ ]

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.