64 bit gaming

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Long time PC gamers will remember the fanfare surrounding 64 bit games that came after AMD introduced their x86-64 architecture. AMD tried very hard to sell 64 bit gaming, but the benchmarks never matched their zeal.

If I recall, there were 64 bit binaries for Far Cry, Half Life 2, Chronicles of Riddick Butcher's Bay and probably some others. Doing a quick search revealed Anandtech's article on the 64 bit exe for Far Cry. Here's the benchmark:

7443.png


A slight improvement, probably due to the mandatory use of SSE2 more than anything else.. The benchmark was done on Windows XP x64 as well, which obviously wasn't nowhere near as optimized for x64 as Vista, Windows 7 and Windows 8.

I wonder if there would be a bigger improvement between 32 bit and 64 bit now if you ran it on Windows 8 x64 and a Core i7 4770k? I bet there would be!

At any rate, with the release of the next generation consoles looming and given the fact that the both of them will run x86-64 processors and have 8GB of memory, what are the chances that we might see a GENUINE 64 bit game in the next few years?

Would it be worth it you think? Some games are using quite a bit of memory these days and need to have large address awareness enabled, so we're getting there.

Also, a 64 bit game would have access to not only more memory, but more registers for whatever that's worth.. I'm not a programmer so I don't know how much benefit that would confer, if any o_O
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
A 64-bit program isn't inherently faster than a 32-bit program. What it can do, as you note, is access more memory, perform certain calculations on large numbers faster, and access additional bits in the registers. That latter can presumably enable some compiler optimizations that can't be done in 32-bit, but that's outside my programming area of expertise. I wouldn't necessarily expect a performance increase from compiling a game 64-bit.
 

Scooby Doo

Golden Member
Sep 1, 2006
1,034
18
81
Personally I would like to see the 64-bit not for speed, but for the additional memory. Its easy to get near the memory limit for heavily modded games like oblivion.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
A 64-bit program isn't inherently faster than a 32-bit program. What it can do, as you note, is access more memory, perform certain calculations on large numbers faster, and access additional bits in the registers. That latter can presumably enable some compiler optimizations that can't be done in 32-bit, but that's outside my programming area of expertise. I wouldn't necessarily expect a performance increase from compiling a game 64-bit.

If they got a 6 to 8% increase in Far Cry on earlier x64 CPUs, I could imagine them getting more on today's microprocessors; at least 10%. Not only is the software more optimized for x64, but the hardware as well.

Even if they don't use x64 to make bigger games, they could at least try recompiling it to see if there is any performance gain. I mean, there's nothing to lose since nearly every gamer is running 64 bit anyway.

Handbrake got 10 to 15% when it jumped to 64 bit.. May not seem like much, but it's better than nothing.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
You are mixing two different things.

1) 64-bit versus 32-bit. The *only* difference is the size of arithmetic, especially the size of pointer. With bigger pointers you can access (a lot) more memory. Right now game developers create games where the content will fit inside 4GB (or 2GB even) of RAM during gameplay. They make sure textures, models, animation, speech, everything is not too large, so it fits in the limited amount of memory they have available.

2) New instruction sets. SSEn, AES, AVX, TSX, etc. The CPU gets new instructions. Plus the transistor logic to execute these new instructions in much fewer clockcycles.

Recompiling old games from 32-bit to 64-bit executables will not improve speed at all. In theory speed could even go down a little (less stuff fits in cache, etc). The old games could use more memory, but as the amount of content (texture size, animations, models, speech, etc) was fixed when the game got released, this will not benefit anyone at all.

Exception: highly moddable games. E.g. with a 64-bit executable, a game like Skyrim could be modded to use even more detailed textures. But still, that will only improve looks. Not framerate.

Recompiling old games with new instructions could speed up games. But that's because of the new instructions. Not because of 64-bit versus 32-bit.

Last remark: you are right that we will soon see games that will have 64-bit executables. Because the PS4 and xbox will have 8GB ram, the executables for those consoles will run 64-bit code. And thus the PC-versions of those games will have 64-bit executables too. A big improvement for modders.
 
Last edited:

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Actually recompiling a program for 64 bits can and does improve the performance, but it can also decrease it.

Along with a widening of all the Arithemitic units in the CPU to allow for the larger numbers the 64 bit instruction set also added additional registers, it more than doubled the available registers for a program. This at clock speed access means that a lot of algorithms no longer go to L1 cache continuously as the intermediate results can be stored in a register instead. In certain circumstances this can have a dramatic performance improvement.

However the use of 64 bit numbers for the points means that the cache can only hold half as many points, and memory bandwidth is effectively halved as well. Now in practice pointers only make up about 10-20% of the program memory usage in a typical game and hence the reduction isn't very severe but its worth keeping in mind.
 

ImpulsE69

Lifer
Jan 8, 2010
14,946
1,077
126
One of the big factors I believe is also that they aren't really optimizing that much for 64-bit. They are still catering to 32-bit since they have to have both, and that isn't going to change for all games anytime soon.
 

HeXen

Diamond Member
Dec 13, 2009
7,832
37
91
Makes me wonder why current consoles were even bothered to use 64bit CPU's considering the pathetic amount of ram they use. Yet despite it, the PC versions were most always 32bit.

I sometimes wonder why we even had to move to 64bit OS's despite 32bit PAE (up to 64GB's) when most every app and game is 32bit and each process rarely uses more than a few megs or a game not really needing huge amounts (why not multiple processes of the game to access more ram for 32bit PAE?)

Just always seemed like more of something new to market to consumers than it was ever really about anything else.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
I sometimes wonder why we even had to move to 64bit OS's despite 32bit PAE (up to 64GB's) when most every app and game is 32bit and each process rarely uses more than a few megs or a game not really needing huge amounts (why not multiple processes of the game to access more ram for 32bit PAE?)

Well, 32-bit apps on a 64-bit OS get to have full access to the 4GB limit I believe because the OS doesn't reserve 2GB for itself.

Now that said, I have never seen a game use more than 2GB unless it was modded because all modern game engines stream data in rather than load everything at once.
 

blankslate

Diamond Member
Jun 16, 2008
8,747
537
126
Personally I would like to see the 64-bit not for speed, but for the additional memory. Its easy to get near the memory limit for heavily modded games like oblivion.

This. On a 32bit operating system with 4 gigs of RAM installed (3.25 usable) I would get occasional game crashes running WoW. The error message mentioned a memory error because the game could not find enough memory to use.

On a 64-bit operating system with the same amount of installed RAM running the 64-bit WoW client. I've never experienced such an error.
 

HeXen

Diamond Member
Dec 13, 2009
7,832
37
91
This. On a 32bit operating system with 4 gigs of RAM installed (3.25 usable) I would get occasional game crashes running WoW. The error message mentioned a memory error because the game could not find enough memory to use.

On a 64-bit operating system with the same amount of installed RAM running the 64-bit WoW client. I've never experienced such an error.

Probably a memory leak or some such bug. Though for consoles it really is amazing what they can do with only 512mb's of ram if they have to.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
The X1 supposedly only has 5 GB of RAM available after the 3 OSs are loaded and they take their due, and that 5 GB is shared between programs and video RAM. The PS4 allegedly has ~6.5 GB free, but still shared between programs and video. So both may not be using more than ~4 GB in practice.

Games have only so much budget for development, and there are still large numbers of 32-bit Windows PCs in the wild. Since they need to make the 32-bit version anyway, I don't see many developers spending the time to create and debug a separate 64-bit build any time soon.
 

Spjut

Senior member
Apr 9, 2011
931
160
106
The BF4 alpha requirements are out, says 32-bit is unsupported. Perhaps more games will be 64-bit if BF4 is shown to still sell well
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
The BF4 alpha requirements are out, says 32-bit is unsupported. Perhaps more games will be 64-bit if BF4 is shown to still sell well

I was just about to say that. BF4 will be a real deal honest 64 bit game! I never play online, which is why I haven't been following BF4, but I may buy BF4 just to see how much memory it can use :D

That's the perfect game for 64 bit though, as the maps can be huge and with everything going on, it definitely helps to have greater access to memory.

Performance could increase also over a 32 bit client due to having double the amount of registers.
 

Texashiker

Lifer
Dec 18, 2010
18,811
197
106
Running a 32 bit program on a 64 bit processor, is like having a 6 lane highway and only being able to drive on 3 lanes.

The technology is out there to drastically improve games, such as programming in 64 bit and using dx 10 and dx 11.

The problem is, developers are still coding in dx 9 and 32 bit.

It is time to get with the 21st century. Developers need to start using the available technology.
 

PingSpike

Lifer
Feb 25, 2004
21,754
599
126
Well, 32-bit apps on a 64-bit OS get to have full access to the 4GB limit I believe because the OS doesn't reserve 2GB for itself.

Now that said, I have never seen a game use more than 2GB unless it was modded because all modern game engines stream data in rather than load everything at once.

I believe each process on a 32-bit application in windows is limited to 2GB, so the reason you wouldn't see more than that is that it can't be addressed. I think there's a number of ways to get around this and get more memory in a 32-bit process but I'm not sure anyone is really bothering with most games or applications.

Since most games are console ports they also never used much memory in the past as consoles have almost always come with an amount of RAM that was terrible compared to PCs even when the console was first released. As consoles are the main development path for AAA titles there has been no reason to develop anything but 32-bit. The consoles don't support it and 32-bit already address more memory than the consoles have. Add to that microsoft has hardly pushed 64-bit much at all and it means a 32-bit version is released and that's it. This of course has caused some stagnation since it can really limit what you can do with the games in less obvious ways.

The new consoles are the first ones I've seen the specs on that didn't have pathetic amounts of memory. Even considering sharing and loading OSes 8GB is pretty good. This probably has to do with dram prices finally dropping. Back during the price fixing era console makers were very hesitant to install a lot of memory.
 
Last edited:

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Hey guys, looks like the Witcher 3 might be 64 bit as well!!

I just noticed a wiki entry which said the Red Engine 3 was exclusively designed for 64 bit platforms:

REDengine is portable across 32- and 64-bit software platforms and currently runs under Microsoft Windows, although the most recent update — referred to as "REDengine 3" — was designed exclusively for a 64-bit software platform

Source

It makes sense. Witcher 3 will supposedly have no loading screens at all, and no artificial boundaries or transitions set in an open World. All of this will require a TON of memory, something which thankfully, the new consoles will have.