will I have trouble when I compile under 64bit?
As far as I know, GameEngine (GE) does not rely anywhere on the size of the int
type, nor uses address pointer arithmetic either. Thus, most likely you won't have any trouble compiling it for 64 bit OS. I can't give you a 100% guaranty yet 'cause I've completed only circa 1/3 of all VMKs.
One place, where 64 bit issue is important was mentioned here
. But this is a later addition.
More interestingly is that you should not expect any noticeable performance gains of 64 bits. One indirect benefit is that in x86-64 mode 8 more general purpose registers (GPR) and 8 more XMM registers available. But there are some shortcomings as well, namely the longer machine code, bigger exe and so on.
The main advantage of introducing 64 bits (at least on Windows platform) was the expansion of virtual address space for applications. http://en.wikipedia.org/wiki/X86-64
32 bit means only 4GB (technically no more than 3GB available, because at least 1GB is used for OS internal purposes). But this is vital only for some special programs, such as databases etc with huge working set. The size of address space is not a problem for gamedev
I don't agree with your anticipation of 128-bit future. Here are two issues. First, even the first Pentium generation of processors were equipped with 64 bit (MMX) and later 128 bit (XMM) SIMD (Single Instruction Multiple Data) extensions, so why we could need more? Second, there is really no need in wide GPRs. That is just a waste of space. Most of the time in general purpose programming the GPRs keep very small numbers. Only in very special calculations you deal with so big numbers that you need 128 bit to keep them. Again in these rare cases you can use 128 bit SIMD registers.
Recent several years reveal that chipmakers in their attempts to augment CPU crunch power had to choose the increase of the number of the CPU cores. bitness
does not improve performance. The rise of core frequency is also not an option due to some technical and physical restrictions (e.g. power consumption).
I also would like to see GameEngine being compatible with DX.
Right now I consider this task as a good homework after the main GE framework will be completed.
Frankly, you have a lot to learn staying with current DX-free version of GE. 8)