kinda missusing this post but hell I dont care
@finnerj: search mmowned-memory section for "TLS" or "TLS method"
@Cypher
hmm wait I should have explained better, 28MB is without textures. 28MB are required to open three MPQ-files. I dont know how MPQs work exactly but I think some sort of fileindex must be loaded to navigate throu the MPQ-Archive. Here is how much memory is used by YAWR now (without loading any minimap-textures):
3.608KB // YAWR starts...
28.728KB thats +25.120KB // opening common.mpq - req. for minimap textures
30.556KB thats +1.828KB // opening xxXX\locale-xxXX.mpq - req. for ore-/herb-icons
31.392KB thats +836KB // opening xxXX\patch-xxXX.mpq - req. for saronite-icon only
35.896KB // other stuff like windowcreation, OpenGL Init
36.408KB // Load font.blp from disk and 62 small icon-blps from MPQ-files, all DXT compressed
38.100KB~ // fully loaded and running
25.120KB+1.828KB+836KB = 27.784KB just for opening three MPQ-files with
Theorycraft for loading minimap textures:
Azeroth 687 textures
Kalimdor 1018 textures
Northrend 1131 textures <- worst case
Expansion01 800 textures
The minimap-textures are either DXT1 or DXT1a compressed.
DXT1 = no alpha channel, compression ratio 8:1
DXT1a = 1bit alpha channel, copmression ratio 4:1
The BLP2 Header + the unused colorpalette is 1169Bytes. I'll ignore that.
Lets say we are in Northrend and since the most minimap-textures do not require an alpha channel I use a compression ratio of 8:1.
1131 Textures, each 256x256 pixels, 4Bytes per pixel uncompressed RGBA
one texture would req.:
256x256x4 = 262.144Bytes
all uncompressed textures would req.:
262.144Bytes * 1131 Textures = 296.484.864Bytes = 296.484KB = 296MB
YAWR uses DXT1, it kicks ass:
296MB / 8 = 37MB
final memory usage by YAWR if minimap-textures are preloaded for each zone.
standard memory usage + DXT1 northrend textures:
38.100KB + 37MB = 75,1MB
hmmm ~75MB still option a)? But I'd say yes! Thats ok for being able to see the WHOLE map.