Third-Party Middleware Solutions and Tools
Most commercial games shipped include some form of third-party, open source, or shared source code. Therefore, it is important that providers of these solutions engage early on in supporting Windows x64. Failing to support x64, they risk blocking developers from starting the transition as it would otherwise make sense for their titles and technology projects.
Having 32-bit solutions that are compatible with Windows x64 is a market necessity today to avoid alienating users of 64-bit technology—which should eventually be anyone with 4 GB or more of RAM in their PCs. These solutions also need to support 64-bit native development. This includes copy-protection schemes, rendering libraries, game engines, audio libraries, animation systems, networking libraries, compilers, profilers, debuggers, 3D modeling tools, photo editing tools, and so forth. As customers of these products, game developers have a strong influence on how quickly these libraries and tools support 64-bit native development.
Use of Deprecated Technologies
Game developers are extremely busy professionals. Typically, a successful solution won’t be revisited until it breaks. Engines and libraries tend to get reused, often beyond the life of a single project. This means many modern games are still using older versions of DirectX components, Windows APIs, 16-bit code installer bootstrappers, or other technologies that may have been deprecated for many years.
In the transition from 32-bit to 64-bit execution mode, many of these older technologies were not carried forward. While such code works on Windows x64 under WOW64 as a 32-bit application, it will fail to compile as a 64-bit native application because the APIs it is using are not available for 64-bit native applications. Porting such code bases to 64-bit native requires updating to newer versions of the deprecated API. In some cases, developers need to rewrite the functionality using modern facilities.
Embrace the Future
The transition to 64-bit computing is like many technology transitions before: it requires some additional work and new learning. Nevertheless, it offers exciting new opportunities and potential.
Game developers can prepare for this not-too-distant future by learning about x64 technology, transitioning their code bases away from deprecated technologies not available to 64-bit native programs, taking advantage of tools porting efforts to prepare their code bases for the move to 64-bit native development, and learning about x64 optimization.11
Internal efforts now to gain x64 experience and to push on providers of applications, tools, and third-party libraries to proactively support x64 compatibility and x64 native development will help pave a smoother road into the future that is already upon us.
Resources
11 “64-bit programming for Game Developers,” Porting Applications to 64-Bit Platforms, DirectX SDK Documentation.
|
Part 1 - Practical Problems With 32bit Addressing In Windows (description and test of current games without LAA boot)
http://www.anandtech.com/gadgets/showdoc.aspx?i=3034
Part 2 - Windows XP, Vista, and the 2GB Barrier: (Comparison of Vista/XP virtual memory usage of games)
http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3044
Part 3 - Vista Buys Some Time: (Testing the KB940105 Hotfix)
http://www.anandtech.com/systems/showdoc.aspx?i=3060
This is not entirely true, depending on what metrics you use for the "distance from the barrier". Part of the problem is memory fragmentation, and the position of the "hole" created by the allocation differs depending on its size.
The game will usually "hit the 2GB barrier" way before it uses 2 GB of virtual space.
The first mitigation effort for all the titles hitting this problem was to reduce vm fragmentation. Glaring problems are easy to fix, but games have been dealing with this concern for a while. Many AAA titles with full content are very close to filling up the 2 GB of VAS available to standard 32-bit apps. While KB9410105 brings the memory usage inline with XPDM to eliminate the Windows XP vs. Windows Vista differences, it doesn't change the fact that games are wanting to include more and more content.