Loading huge ssc files
Posted: 30.05.2006, 03:54
Just out of curiosity, I tried loading the huge mainbeltasteroids.ssc file at the motherlode, that contains all 230,000 main belt asteroids.
http://celestiamotherlode.net/creators/ ... ds.ssc.zip
First, without any extras loading at all, Celestia takes up 52.3MB of memory according to Task Manager.
Naturally my computer completely failed to load up the whole file in Celestia 1.4.1. But I noticed when I gave up after about 10-15 minutes of letting the CPU chug away that Task Manager said it was still loading up and taking up 150MB of memory and counting... (so how does the memory allocation work? It seems that it doesn't just allocate 94MB to loading the file to memory, but it didn't seem to want to stop allocating memory... should I have just left it for an hour or so?!)
So I tried to cull the file by removing all the asteroids labeled J-something or K-something, so there was now just the asteroids numbered from 00001 to 99999. That dropped it down to 39.9MB, but that didn't load up either (I gave up when it hit 100MB of memory and still rising). Cut it down to 49999 (about 18MB of ssc file), still it's going on and on up to and beyond 100MB of memory after several minutes of chugging away.
I cut it down to 10,000 asteroids (a mere 3.8MB ssc file) and finally it could finish loading up. But looking at how it loaded into memory I noticed that it loaded the initial default sscs very quickly (in a couple of seconds) then spent about 30 seconds stuck on the abridged mainbelt.ssc file, then a couple of seconds loading everything else up, making the screen and creating the graphics and finally opening the program. It ended up taking up 100MB of memory, total loading time of about 40 seconds.
Seems to me that it just slows down horribly when reading large ssc files - even 4MB (which isn't all that big a file really) grinds the loadup process to a halt for a bit. And even loading up the 10k asteroid file, Celestia ran like a dog when I told it to view asteroid orbits.
I guess this is unavoidable without rewriting Celestia's code, but I just thought it was interesting to see where the bottlenecks are. My computer isn't horrifically slow either, it's an Athlon XP 2100+ with 1GB of RAM and a 256MB NVidia Geforce FX5500 card running XP Pro.
There's no real way to trim the ssc file either, short of massively culling the number of asteroids - they've each got pretty much the barest minimum of information to allow them to be shown in Celestia.
http://celestiamotherlode.net/creators/ ... ds.ssc.zip
First, without any extras loading at all, Celestia takes up 52.3MB of memory according to Task Manager.
Naturally my computer completely failed to load up the whole file in Celestia 1.4.1. But I noticed when I gave up after about 10-15 minutes of letting the CPU chug away that Task Manager said it was still loading up and taking up 150MB of memory and counting... (so how does the memory allocation work? It seems that it doesn't just allocate 94MB to loading the file to memory, but it didn't seem to want to stop allocating memory... should I have just left it for an hour or so?!)
So I tried to cull the file by removing all the asteroids labeled J-something or K-something, so there was now just the asteroids numbered from 00001 to 99999. That dropped it down to 39.9MB, but that didn't load up either (I gave up when it hit 100MB of memory and still rising). Cut it down to 49999 (about 18MB of ssc file), still it's going on and on up to and beyond 100MB of memory after several minutes of chugging away.
I cut it down to 10,000 asteroids (a mere 3.8MB ssc file) and finally it could finish loading up. But looking at how it loaded into memory I noticed that it loaded the initial default sscs very quickly (in a couple of seconds) then spent about 30 seconds stuck on the abridged mainbelt.ssc file, then a couple of seconds loading everything else up, making the screen and creating the graphics and finally opening the program. It ended up taking up 100MB of memory, total loading time of about 40 seconds.
Seems to me that it just slows down horribly when reading large ssc files - even 4MB (which isn't all that big a file really) grinds the loadup process to a halt for a bit. And even loading up the 10k asteroid file, Celestia ran like a dog when I told it to view asteroid orbits.
I guess this is unavoidable without rewriting Celestia's code, but I just thought it was interesting to see where the bottlenecks are. My computer isn't horrifically slow either, it's an Athlon XP 2100+ with 1GB of RAM and a 256MB NVidia Geforce FX5500 card running XP Pro.
There's no real way to trim the ssc file either, short of massively culling the number of asteroids - they've each got pretty much the barest minimum of information to allow them to be shown in Celestia.