The release build of DirectQ 1.8.2 clocked in at almost a whopping 2 MB. I had certain suspicions as to the cause of this, and at least one of those has now been confirmed - my use of an older version of the DirectX SDK. By compiling against a more recent version the size reduces to a trim 871 KB. Presumably the older version is statically linking a lot of stuff that has since been moved out to a DLL.
The downside is that doing this will mean the return of the dreaded "d3dx_37.dll cannot be found" errors.
A compromise solution would involve using the more recent SDK (for performance improvements, bug fixes and added functionality) but dynamically linking against the D3DX stuff. I can choose an older D3DX DLL to link against (one which is on a fresh install of Windows Vista and 7) which would ensure that the required functionality would be present.
Another way of doing this - which almost made it into 1.8.2 - is to find the latest version of the DLL on your machine and use that, only downgrading to an older version if it's not present.
On balance either of these seems a better approach, but might lead to a debugging and maintenance nightmare if different people are using different versions.
The approach I prefer is "just update your DirectX". It gets everyone onto the same playing field, and I think that at this stage most people should be aware of what's needed. I've certainly documented it myself often enough. I can include a Direct3D readme with future distributions to cover everyone else.
All of this assumes of course that a DirectQ compiled with the more recent SDK will run on 2000 or XP. It should be OK (the SDK I'm using - Feb 2010 - has a runtime that's available for Windows 2000 after all), but still needs to be tested before committing to this approach. (Update: it runs Just Fine.)
For what it's worth, the more recent versions of the runtime (since about 2005 or 2006) are no longer even available for Windows 98, so if I take this approach it will completely rule out any possibility of a Windows 98 build ever happening. To be honest that doesn't bother me much as DirectQ has never run on 98, and there hasn't been any major outcry for it.
Thursday, March 25, 2010
Decision Time!
Posted by
mhquake
at
11:00 PM
Subscribe to:
Post Comments (Atom)
1 comments:
*sigh* Windows 98 is dead. Windows XP will never be dead, despite what Money$oft... er, I mean Microsoft... wants you to think. Just shrink your puppy by compiling it with the most recent SDK you have and be done with it... please... and if someone complains, well, too bad!
Post a Comment