View Single Post
Old 10-20-08, 03:47 AM   #8
danlisa
Navy Seal
 
danlisa's Avatar
 
Join Date: Oct 2005
Location: Cornwall, UK
Posts: 5,499
Downloads: 45
Uploads: 1
Default

Quote:
Originally Posted by Commander Gizmo
After my recent attempt to get SH3 running just right with GWX 2.1, I definatly began to hate watching that progress bar run across the screen at app startup. That begs the question, just what is it loading there? I know it is loading the menu GUIs, but obviously there is more going on. A few questions arise:
Hi.

Obviously you are referring to both loading sections, first after clicking the SH3 shortcut and then loading a campaign or save file.

The first load bar: Not much can be done to speed this loading. Really the only thing that will affect it is PC Specs. At this point the game loads it's code into your PC's memory, that's about it. IIRC, at this stage SH3 uses around 400mb of system memory. Regardless of menu layout, movie format/size or texture size the only way to increase performance here is to have enough system RAM and a killer processor. This is limited by the architecture of SH3's coding.

Second loading bar (campaign/save file): Believe it or not, GWX has optimized this as best as it can while keeping historical accuracy and content. Lets, go back in time to when Stock SH3 was first released.....

SH3 had a minimal campaign structure, small amount of content and actually handled game objects in a very different way. This handling of objects is the contentious point in your request. I'll try to explain.

In stock SH3, you had the object DAT file which basically contained the model (and other bits) and then the textures for that object were contained in and called from the Low/High Res textures folder. Now here's the killer, these textures were called & loaded each time you encountered (or within rendering range) each object while playing the game, this caused HUGE freezes & slowdowns when you least wanted them. GWX remastered this routine. By placing every objects texture inside it's DAT file, it meant that the game pre-loads this information before you even see the inside of your boat, thus improving ingame performance. Texture files were also reduced in resolution to help this. So you see, there was a tradeoff, smooth gameplay/accurate historical representation/additional content etc vs. Stock SH3.

A quick comparison:

Stock 1.4b:
Air Units = 13
Sea Units = 49
U-Boats+Subs = 8
SCR Campaign = 19249 lines
RND Campaign = 402082 lines
LND Campaign = 11968 lines
Total = 433299

GWX 2.0: (not 2.1)
Air Units = 40
Sea Units = 182
U-Boats+Subs = 24
SCR Campaign = 486859 lines
RND Campaign = 629050 lines
LND Campaign = 53925 lines
Total = 1169834

Thats a 169.98% increase in campaign scripting alone. Don't forget, when you click START, all the items above are loaded each & every time into your PC's memory.

All of that said, I have no doubt that if the original game routines were still in place, GWX would not work. To bring that level of content the core of the game had to be changed.

On to your original questions (mine in red):
  • Why is there no speed loading mod widely used? There is no way to implement this without loosing something.
  • Does the menu backgroun movie (a bik, I think) load, or just stream from file? Stream.
  • Can we effect what is loaded at app launch and what is loaded at game start? Nope, this is limited by game design and coding.
  • Why is the artwork for the loading screens much larger than the screen area it fills? Again, the loading artwork is 1024 x 1024 because it needs the Black areas above & below the main image for positioning.
  • Why are so many blank textures not incredibly small, or just reused from the same file? There are no BLANK textures in GWX or SH3. They have Alpha channels which displays them as blank when viewing them as thumbnails in explorer.
  • Does the game allow modders to choose what sections of what files are used where on the screen? To a point but this will not help to improve performance. The easiest example of this is the Menu_1024_768.ini. This file will extract parts of a single texture (by given coordinates) and then place it on screen, again given coordinates.
  • Can the modder choose tiling or stretching of a texture piece to fill an area of the screen? Again, to a point. Tiling = No but you can stretch a texture by use of the menu.ini.
  • Has anyone attempted to optimize the loading time? Yes, GWX has. Seriously, if you want to experience the dramatic differences, create a empty set of campaign files and test the differences. Bottom line is, you can optimise as much as you like but what do you removes to get the added performance?
__________________
danlisa is offline   Reply With Quote