I have to disagree with you completely with respect to the issue of games driving 64bit adoption at the consumer level. You would have to admit that games have been driving computer hardware performance for some time and in fact gamers are the ones that purchase the high end systems equiped with a large amount of memory and advanced GPU's. The reason is the reality of increased performance. That performance can be measured by the speed that the machine produces new frames or buy the quality of the rendered result.
64 bits in the gaming market will take off when the next hot game comes out with 64 bit support, and is only hot when that 64 bit support is enabled. It may take a year or two but once that game is out the market will quickly shift completely to 64 bit technology. It is a matter of being able to compete, 64 bit offers to many advantages to developers to ignore once the cat is out of the bag.
Being able to address all of that extra memory above 2Gb offers room for more data and more complex algorithms. So 64 bit games will be able to offer a richer IA experience, and a much richer visual experience. We are very likely to see around the same time as the 64 bits becomes significant remarketably enhanced displays at reasnable price points. Instead of 1280 x 1024 displays of today, affordable displays of > 3000 x 2000 pixels are not far off.
The advantages don't rest with just the game devlopers themselves. You now have much more room for tradtional OS actvities such as caching of slower devices such as CDROM drives. Larger memory systems mean far less paging. Many of the 64 bit systems support a full 32 bit address range for 32 bit processes, which is a significant improvement; in many cases doubling available memory to a application.
Take all of these things together along with other things happening in the gaming market and the realty of 64 bits sinks in pretty fast. Todays games will be as humorus as pong is now. But these are just arguments for games and 64 bit hardware, this does not mean that other software for the consumer space would not also benefit.
How much mor eefficient a program designed for 32 bit systems is over a 64 bit implementation is entirely dependant on the problem domain. If you end up doin a great deal of 64 bit math on a 32 bit system than you could end up wasting as much space with additional program code as you would with 64 bit pointers and simplified logic. Then we also have to mention the addtional maintenance issues. Even if the application itself does not benefit from 64 bit addressing and does not use it, the program still benfits from 64 bit technology. The most direct benefit is access to the full 32 bit address space instead of 1.5, 2 or 3 GB of memory.
On todays 32 bit hardware one can start to stress a machine with photoediting software which is much less than the demands of multimedia software. Sure the individual data elements are not that large, but there is a huge benefit to not haivng them paged out to backing store when editing. It is a matter of what sort of responsiveness is important to you and what you are willing to pay for. People in business to make money from these sorts of artistic applications are often willing to pay for the hardware that gives then real advantages.
Originally posted by Programmer
Few (if any) games need a 64-bit address space, and the trade-off of having 8 byte pointers would typically make this a poor design choice. There might be a few data structures that would benefit from a sparse 64-bit address space, but in most cases there are better alternatives that work more efficiently in a 32-bit space. The same is true for most consumer applications. Media editing programs (at least for video) are an exception that could benefit from the huge address space, but solutions are already in place to support data streaming so the payoff isn't too dramatic.