Here is the update. If this post is the very first thing you see about "famous memory-fix", then please
follow here. This post is about intermediate test release for those who are with me in this thread helping to make final release out of it (much closer now).
The movies problem has appeared in some places (intro is still fine with me). I will address it in the next fix.
"PatchByHarkonnen.dll" attached to THIS post (post #1 is unchanged as this might be worse). You will have to set 'vid_mem_usage' to amount of video memory you have (64Mb users should read below). Just set it to 128 if you have 128Mb of video memory. Set to 256 if you have 256Mb. I will get this info automatically in 'installer' version, it's just too windows-version-dependent to extract all those infos in this small test.
64Mb users (and probably others):
Try previous value for 'vid_mem_usage' (the one that worked best for you),
plus 50.
I am primarily interested in following three things:
1) Do gray leader-boxes still appear (not after alt-tabbing, just on its own)? If the answer is 'yes', did you have this problem before my fix?
2) Do black terrain/colored trees still appear (not after alt-tabbing, just on its own)? If the answer is 'yes', did you have this problem before my fix?
3) Does globe view perform worse than before the first version of fix? It shouldn't become faster on its own, my aim with this is not to make it slower at least.
4) Any new problems / improvements as compared to previous version of the fix (post #1)?
5) Your old 'vid_mem_usage' (post #1 version) and your new 'vid_mem_usage' (this post #640 version).
Changes which came into this intermediate release:
1) 'Harkonnen.ini not found' problem. Now you may double-click savegames.
2) FPS meter on the left along with reported memory savings (press Ctrl+Alt (Ctrl and Alt simultaneously) to toggle info on/off)
3) Changed mapper algorithm. Green/golden ships problem seems to have been solved.
4) Changed memory allocation strategy. Now it accounts textures and unmanaged vetex/index buffers, so it can readjust 'vid_mem_usage' you had to set before at run-time.
5) Reports when something is already hooking in (e.g. ATI Tray Tools / xFire).
For 3D programmers (and Firaxians) who care if FPS meter is correct:
1) Yes, I use high-frequency performance counter.
2) Yes, I render text via video-memory texture because 'GetDC' calls are slow for D3D.
3) FPS values are averaged on last 5 frames.
4) FPS values are update on-screen every 100ms (10 times a second), but are accounted with each frame.
5) FPS is updated by the time of 'Present' call. Drawing text is wrapped with BeginScene/EndScene calls.