I always welcome open discussion as long as it does not distract from the main point. Which is TSOP being merged into the 1.2 patch, and Rebellion.
I get upset when people try to hijack the TSOP topics to push for LAA, or some risky EXE hack which increases the games ram usage. The main point is We should not need LAA, or a Hack to run the game smoothly, or to keep it from dumping. The game should run fine with no need for ANY alterations whatsover. It should run fine straight out of the box. We as a community should not have to fix the game. We should not have to do ANYTHING at all. It is the Developers responsibility to fix this Excelent, but Broken game. I did what i did because of my love for the game, and it was a shame to see what was happening to it. Obviosly if there was no fan base, no market, or if this was a really bad game then we would not even be having this discussion right now, and Sins would be truly dead. Yet here we are
The main purpose of TSOP was to eliminate the 2 gig crash bug that plagued Sins since Entrenchment, and got Worse with Diplomacy. I ran the idea of TSOP accross to the devs last year when the 2 gig issue was at its worst. They said "go ahead and try it". So i did. Understand that i am not a programmer. I am a 2d, and 3d graphic artist. A Modeler. I know nothing about code. Everything in TSOP was done on the Graphics level, and some very obvious data errors that were easy to fix with wordpad. The goal was to make sins run better, use less ram, and to eliminate the 2 gig dump without changing any game play aspect. We succeded.
We all knew that sins had a 2 gig hardcode ram limit, but what people did not understand that it the actual ram that Sins used on your system. Not what Sins plus everything else you were running along with it. So people were saying "I am 3 gigs ram, and sins was running just fine". Yes it would run fine if sins was using 1.5 gigs, and the rest of your system was using the other 1.5 gigs. Sins crashed when Sins itself uses 2 gigs of ram. It is hardcoded to dump when it did.
The textures play a BIG role in how much ram sins uses. Most of the ram Sins uses IS used by the textures. Sins is different from other games, because of how sins loads its files. Other games load, and unload assets "as needed", or "on the fly". Example: Mass Effect. When scenes change you can see the textures still loading up from low to high resolution as the map changes. Sins does NOT do that. Sins loads most if not ALL of its game assets at map startup, and keeps them in memory until ether 1) The game is over (by victory/defeat, or user ending the game), or 2) The game dumps, because it hit the 2 gig hardcode limit.
There are many textures in the game assets that are very large (some up to 4096 resolution), but waste almost 1/2 of the textures space due to the method UV mapping the original developers used (especially for the planets, and skybox's). There will always be "some" waste on textures, but what i saw was exccesive IMO. Most of the particles also use textures that are way too large for thier purpose. There is no need for a particle to require a texture with 512 resolution when the particle mesh is scaled to the size of a pinpoint in game. This is the kind of waste TSOP eliminated. We left the Ships themselves alone, because there was nothing wrong with the textures. I already explained the failure with the Planets/Skybox's earlier. The biggest offenders in the waste department were indeed the Particles.
The obvious bugs we found i wont list them all, but you can look at the TSOP topics to see for yourself:
Typos, and Mis-labels of mesh nulls, and textures in the mesh files. MANY of them.
Examples: Marza not having a bomb, Above, Center, or Aura null, and Akkan's engine, and Nav light points miss-spelled.
Entrys calling for textures that do not exist in the textures folder at all (both the mesh, and particle files) causing an endless search loop...A memory leak. TSOP substituted some of these missing textures with the closest matching alternative texture. Basically fixing the particle. In some other cases the entry was removed.
Entrys calling for folders, and file paths that do not exist on the users computer causing the game to use more cpu ticks, ram whatever to search for the these files (mainly in the Mesh, and Particle files).
Examples: In the Buff_GaussRailgunTravel.particle you will find entrys like this.. "C:\gs\entrenchment\DataSource\Textures\Effects\orbitaldefense.tga" when a simple "orbitaldefense.tga" would do, and default Sins to search in its textures folder. In the mesh files you will find similar entrys. Example: In the Star_Blue.mesh file you will find texture entrys like this.. "C:\Dropfolder\Models\sun\pictures\starblue.dds" when a simple "starblue.dds" would do.
To me all of that amounts to waste. So TSOP eliminated that waste, and managed to free up to 800 megs of ram for Diplomacy.
To me the biggest advantage of DDS textures is the Mip Mapping feature. It serves two purposes...
1) The further you zoom out the lower the resolution of the texture. Sort of like texture level of detailing. Since there is no mesh lodding in Sins. You dont need to see the Kol at 2048 res when you are zoomed out to almost an icon. The particles gain the same mip mapping benefit when switched to DDS.
2) It switches to a lower resolution when you chose it in your game options. Example Highest detail would be 2048, Medium 1024, Low detail 512 etc. Since TSOP switched the particle textures from TGA to DDS they too will benefit from this feature. Increasing the games performance.
For the UI i switched to DDS just to keep the standard. Some UI was already in DDS format. There was a huge memory benefit form converting the rest of the UI. I see the artifacts now. I used the Nvidia photoshop plugin to convert them. Ill see if i can convert a "cleaner" texture.
As of Beta 3 NO models were changed yet in the beta. NO textures were changed yet in the beta. NO particles were changed yet. Only a few files in the GameInfo folder were changed.
EDIT: As of Beta 4 some of the mesh fix's from TSOP are now in the patch.
A good question.. Is the memory usage identical between a Loaded TGA, and a DDS texture?
Sorry Thomsen, but i havent had any free time to try your method, but will do asap.
Sorry for the novel.. I needed to make my point