Edit: Actually you already addressed this in your post, with forking a process, which does seem like a potentially better solution in many situations.
Also, not sure why you're being downvoted, since your post seems intelligent and well thought out.
Edit: Actually you already addressed this in your post, with forking a process, which does seem like a potentially better solution in many situations.
Also, not sure why you're being downvoted, since your post seems intelligent and well thought out.
Almost all games are distributed as 32 bit binaries, albeit more recent titles are coming out 64 only. Point is, only one ever really comes out, because the vendors don't want to support two independent binaries, and in practice games really have no excuse to use more than 4GB of ram - you really should be caching to disk any scene or environment data that is that large, and all your texture data is already resident on the GPU. GPU drivers would have to be PAE aware, though, if you wanted to address more than 4GB of video memory (such as on the Titan).
And all the media creation tools do fall under that "business class use case". It is not that I think 64 bit is stupid - if you need 64 bit addressing, you need 64 bit addressing - just that the average consumer did not need it, at all. Business applications that needed 64 bit could have been shipped as such, hopefully for Itanium (read some docs on it, the ASM and pipeline model were way ahead of their time - to its detriment, sadly) which could have been the Xeon-esque business CPUs.
32-bit memory limits in applications suck. My machine has 16gb of RAM. Heck many laptops have 16gb of RAM. No one should have to faff around with forking and IPC if they want to use a large amount of memory for an application.
You list of a whole lot of gotchas and workarounds which could be solved by PAE...or we could just do what we actually did, which is use a 64-bit architecture and get it consumerized so it was everywhere ASAP.
There were solutions to all the problems encountered in 32 bit back in 2004 that could have been easily solved without doubling word size and creating the 32 / 64 split that means, at the least, all the Linux distros are shipping two versions of everything, for example. And the same thing is happening again, now.
> we make 64-bit processing cheap for everyone.
The business class that really has a practical use for >4GB per application already buys the extremely overpriced Xeon chips. Back in the day, those would have been Itanium, which were also 64 bit. There was a market for that technology in place before AMD64, and nothing about consumerizing 64 bit indicates it got cheaper - silicon is silicon, and the business world is big enough to easily support maintaining a technology end users don't need.