Ok, the machine I’m going to test this on, is a Vista x64 machine (I know I just couldn’t be bothered to upgrade it yet).
The CPU is an Intel Core2 Quad Q9300 running @ 2.50Ghz, with 8GB of ram.
The “Windows Experience Index” is 5.9 (It’s 5.9 across the board).
I’m using a redo of the SDL port of Quake 1 as a benchmark. You can download it here.
Unzip it somewhere, and I’ve tried to make this pretty easy to follow… There are precompiled EXE’s for various CPU’s and Visual C++ levels.
To build, setup your CLI with the VC environment variables, then simply cd into ‘ezquake\build’ and run:
nmake -f quake.mak
If you have Visual C++ 2.0 (I forget if I needed this for 4, and I just don’t feel like installing 5.0 right now) you may need a slight ‘hack’ to undefine some things that just don’t exist in the winmm.dll setup with the vc2.mak/b2.cmd .
And this should produce an EXE with the /O2 flags for a generically built maximum speed optimized EXE. If your make has issues, you can try the build.cmd file which just blindly compiles the thing one at a time…. It should work as well.
Then to test the exe, simply cd into the ‘ezquake\test’ and run:
..\build\quake -nomouse +timedemo demo1
Anyways, now for some interesting test results:
Visual C++ 2 x86 619.4 FPS
Visual C++ 4 x86 689.1 FPS
Visual C++ 6 x86 631.2 FPS
Visual C++ 2008 x64 375.7 FPS
Visual C++ 2008 x86 400.6 FPS
Visual C++ 2010 x86 772.2 FPS
Visual C++ 2010 x64 949.5 FPS
I’m blown away with just how fast this new version of Visual C++ is.