Windows 8, Current Condition and Testing Results... * FIXED IN WINDOWS 8.1 *

For help with SW3DG game related technical issues.
User avatar
Vice
Administrator
Administrator
Posts: 11558
Joined: Fri Apr 25, 2003 1:38 am

Windows 8, Current Condition and Testing Results... * FIXED IN WINDOWS 8.1 *

Post by Vice »

Description
Under certain conditions in Windows 8 using version 2.208 or earlier of Evochron Mercenary, a CTD (crash to desktop) could occur while trying to approach a planet in the game. The problem usually began with significant framerate stuttering, missing planet terrain sections, or terrain sections that were colored gray/white (missing texture data). The problem generally only began once the game reached about 850 MB of working memory use, which for whatever reason(s) resulted in about 3.7 GB of commit memory used, which was usually reached when the game was attempting to load more planet terrain details as the player approached the surface. It could also occur as a player tried to travel from sector to sector or respawn. When the CTD occurred, the event could occasionally trigger a 'CrashDump_MM_DD_YY.txt' file to be saved to the install folder. It may or may not have been empty. When not empty, it would usually contain a reference to internal code 12002 with a line number in the 80,000-90,000 range. Windows 8 was the only common factor on systems encountering the issue.

Causes
For reasons I haven't yet determined, there appears to be a some kind of memory issue in Windows 8 that restricts what the game can access on systems using that operating system. When the game is blocked from accessing the memory it needs, the improper data loading, framerate stuttering, and eventual CTD can occur. All other versions of Windows do not encounter this specific issue.

Update 03-15-2013: The point at which the problem occurs has been traced to a 'load object' operation. This was discovered after I ran a series of test programs on Windows 8 and noticed excessive memory consumption for this basic media loading operation. For whatever reason(s) loading a test object (X format mesh) one time used 350-400+ MB of memory in Windows 8. The same operation used a normal 10-15 MB on any other version of Windows. The impact seemed to vary with certain placement and rendering states of the object. This is apparently the root cause of the problem and why the game is eventually not being allowed to access memory it needs in Windows 8 only. I am continuing to test and have sent my findings to the developer of the platform used to write the game in.

Update 10-17-2013: The problem appears to have been fixed in Windows 8.1 Apparently, there was some kind of issue in Windows 8's memory management system that produced a kind of 'memory leak' effect when the game would try to load objects. Over time, this improper increase in memory use would result in the low memory condition described above. Windows 8.1 appears to fix the problem and memory use has now returned to normal in this version of Windows. If memory use continues to be normal and a Windows Update doesn't break the behavior in the near future, I will likely go ahead and add Windows 8.1 to the list of supported Windows operating systems for the game.


Solution
Updating to Windows 8.1 should resolve the issue. Additional information is available below for users still on the original version of Windows 8. However, it is strongly recommended that you update to 8.1 as soon as convenient as it appears to fix the problematic memory issue in Windows 8 for the game.

Note: This step is no longer necessary for Windows 8.1 users. For original Windows 8 users, the only effective solution has generally been to use the Windows 7 compatibility mode, which then allows the game to have access to all of the memory it needs on such a system. Using the Windows Vista or Windows XP SP3 compatibility modes may also solve the issue. To enable the Windows 7 compatibility mode in Windows 8, follow these steps:

- Right mouse click on the game's desktop icon, then left click on Properties.
- Click on the Compatibility tab.
- Check the box next to 'Run this program in compatibility mode for:'.
- From the drop down menu, select 'Windows 7', then click on Apply, then OK.
- Launch and test the game.


Additional Information
There was apparently some kind of issue in the Windows 8 memory management system that would result in a 'memory leak' like condition as the game would load objects into memory. After many weeks of trail and error, there didn't seem to be much I could do from the game side of things to force the game to operate within the required memory confines of Windows 8 that Windows 7 and other versions of Windows did not have. Fortunately, Microsoft have apparently resolved the issue for now in the Windows 8.1 update, available today as of when this was posted.


01-20-2013 Update: Version 2.298 has been released and includes several signficiant changes to the terrain collision system in an effort to lower the memory use of the game. The overall reduction amounts to around 50-100 MB, which should help the planet detail loading system run better on many Windows 8 systems.

I have tested the game on my own Windows 8 (64-bit) system with a Nvidia display device and 4 GB of memory for several days now using this system without any crash. If you still encounter an apparent memory resource issue in Windows 8 when descending into planet atmospheres, switching to the Windows 7 compatibility mode should still provide a memory environment that works reliably.


03-15-2013 Update: Cause updated with new information.


10-17-2013 Update: Problem appears to be solved in Windows 8.1. Details above.

[Edited on 3-15-2013 by Vice]

[Edited on 10-17-2013 by Vice]
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations