Page 1 of 1

memory problems on CVS

Posted: 23.09.2006, 11:03
by rra
Starting Celestia , selecting Earth with Blue Marble VT I notice a very big
memory increase,
so much that my performance dropped to 1 or 2 frames per second.
Celestia (CVS 20 sept'06) then uses something like 1.2 GB causing
memory swapping to harddisk.

When do the same thing with the official 1.4.1 version , including ofcourse the BNMG VT's , I see a memory consumption of about 300 MB,
which doesn't cause any diskswapping , resulting in smooth display of the Earth.

Ren?©

Posted: 23.09.2006, 12:29
by Fightspit
I know the BMNG VT tiles are in PNG which provide the best quality of the tiles but decrease a lot of fps probably. I hesitate to do a the BMNG in DDS version but I don't know if DXT5 (with specific compresion ?) get the same result than PNG. What do you think ?

Posted: 23.09.2006, 12:35
by selden
Ren?©.

Can you provide more details of what you did?

You have to be careful to do exactly the same operations and not include any other Addons when comparing different versions of Celestia.

When I compare the two versions, I see almost exactly the same amount of memory being used for the BlueMarble AltSurface that I'm using.

To compare them, I did the following:

empty the Celestia v1.4.1 final Addons directory of all addons.
move into it the BlueMarble addon
Start Celestia v1.4.1 and let it goto Earth
Select the appropriate Render Path
Select the BlueMarble AltSurface
Select the appropriate resolution
Select the appropriate Render/View Options
exit from Celestia v1.4.1

Start Celestia v1.4.1 and let it GoTo Earth
Observe memory usage (130.0 MB)

move the Addons directory to the extras directory of Celestia v1.5

Start Celestia v1.5 and let it GoTo Earth
Observe memory usage (131.8 MB)

Did you go to a particular low altitude viewpoint? If so, you have to be careful to use a CEL URL to start Celesta and take you there. Otherwise the time of day will be different and your trajectory will be different and you'll pass over different parts of the Earth on your way to that viewpoint, loading different amounts of the VT.

Posted: 23.09.2006, 13:03
by rra
Ok , it tested ii again:
before I removed all other extra items on both 141 and CVS (build 22-9),
I used the same BMNG VT's (they are all PNG files) for 141 and CVS.
For both the render path is 2.0 .

Before I start Celestia I have a mem. usage of about 300 MB ,
then I start 141, (using default start.cel) ,
The system loads the earth, displays (Real time) it from 32000 km.
I select alternate textures.
Then I goto earth (press G once, it moves to about 64 km distance).
No problem with 141 , Celstia uses another 300 MB.

When I do the same thing (use the same start-cel , same render-path) ,
with CVS viewing the Earth from 32000 uses also 300 MB , display is smooth.
But when zooming in (select G once) trouble begins , as stated before ,
It starts displaying the VT at an amount of 1.7GB !!

There are NO error's loading the VT's .


Ren?©

Posted: 23.09.2006, 13:27
by selden
I'm using a DDS version of BlueMarble, so it uses much less memory than the PNG version, but it is clear that v1.5 is doing something different.

When I follow your procedure, Celestia v1.5 grows to about 170-200MB on my system (it varies somewhat from one run to another)

v1.4.1 grows to about 131MB with almost no variation in size.

Also I note that v1.5's approach is much "rougher" -- it's obviously loading more tiles than v1.4.1 does. I can hear the disk doing many more accesses.

Does your version of BM include a specularity texture? The specularity code is quite different in v1.5. However, with the specularity texture commented out, v1.4.1 grows to 130.4MB, and 1.5 grows to about 175MB, so that's probably not it...

p.s. Sorry: I can't spend any more time trying to isolate the difference. Other things to do...

Posted: 23.09.2006, 13:52
by rra
No , the BMNG files are without specular textures

p.s. Sorry: I can't spend any more time trying to isolate the difference. Other things to do...


No probem Selden, I just hope someone can reproduce the problem I have;
that way it is easier to track down the problem ,
in the mean time I stay off the BMNG VT's .


Ren?©

Posted: 23.09.2006, 15:47
by chris
It's possible that the new depth sorting code is setting the near and far planes of the view frustum differently and causing more tiles to get loaded. The frustum used to determine tile visibility needs to be different than the frustum used for rendering.

Thanks for the detailed bug report, else I may have overlooked this.

--Chris

Posted: 24.09.2006, 10:28
by rra
Chris ,
although I don't understand the frustum thing, I can confirm that the CVS version loads much more VT's into memory than the 141 version does.
To proof this I had a program named "filemon" running, filtering all reads
from "tx*.png" files.

I saved the filemon-log-files of both Celestia versions to proof my point.
I you are interested I can mail them to you.


Ren?©


EDIT: forgot to mention: in both cases I stopped the time right after loading the beginning, so Celestia shouldn't have to load a lot of textures