32 bit exe
Moderator: Moderators for English X Forum
32 bit exe
The executable for the game is 32 bit, limiting the game to about 2gb of RAM usage, whereas the game minimum requirements are a 64 bit OS and 4GB of RAM.
I'm guessing that this is causing a lot of the performance issues users are complaining about.
I'm guessing that this is causing a lot of the performance issues users are complaining about.
-
- Moderator (English)
- Posts: 30436
- Joined: Fri, 16. Apr 04, 19:21
That is just not at all the case. With a 64 bit OS and more than 4 GB RAM, the exe can itself use just below 4 GB RAM for internal use, and the other RAM fitted can be usefully utilised by the OS, the graphics card as shared memory, peripheral drivers, services and any running background or supporting applications.
A dog has a master; a cat has domestic staff.
The game doesn't "require" a 64 bit operating system if it has a 32 bit binary executable, Yet it's a minimum requirement.
I've only ever caught this game using 2.3gb of ram, and since it only uses DX9, a 32 bit windows XP would most likely run this game exactly as well as my 64 bit windows 7.
Making it a bull minimum requirement.
I've only ever caught this game using 2.3gb of ram, and since it only uses DX9, a 32 bit windows XP would most likely run this game exactly as well as my 64 bit windows 7.
Making it a bull minimum requirement.
the exe is flagged for laa
the exe is flagged for laa as in >2GB is ticked in the header. So it isn't 32 bit exe. Im confused by what people are meaning by this.
Re: the exe is flagged for laa
That's incorrect, mate. The LAA flag in the file header has nothing to do with whether an executable has been compiled for 32 or 64-bit. All the LAA flag does is inform the O/S that the application can handle addresses larger than 2 GB. In a 32-bit executable's case this would enable it to use the address space beginning at 2GB and ending at 4GB.chickenbone wrote:the exe is flagged for laa as in >2GB is ticked in the header. So it isn't 32 bit exe. Im confused by what people are meaning by this.
The current customer build of X: Rebirth is, in fact, a 32-bit executable.
A 64-bit executable blows the doors off these memory address limits. 64-bit Windows 8 Pro, for instance, will access up to 512GB (limited by Physical constraints). An orders of magnitude increase in accessable memory over the 32-bit past is a game changer- it's why the new consoles are 64-bit CPUs running 64-bit O/Ss running 64-bit executables. I expect PC devs to follow suit (many already are with 64-bit games being released this month)
Cheers
Last edited by ChandlerL on Fri, 15. Nov 13, 23:43, edited 1 time in total.
X-R is indeed running a 32 bit executable.
Don't ask me why, and it seems to have access to more than 2gb of RAM, but this is what windows says:
[ external image ]
Don't ask me why, and it seems to have access to more than 2gb of RAM, but this is what windows says:
[ external image ]
-
- Posts: 1
- Joined: Mon, 5. Jul 04, 16:20
A 32bit Process can allocate mor RAM on a 64bit OS than on a 32OSVolatar wrote:X-R is indeed running a 32 bit executable.
Don't ask me why, and it seems to have access to more than 2gb of RAM, but this is what windows says:
[ external image ]
here is the Explanation.
So the process must not run nativ 64Bit (but would not hurt) to get mor than 2GB Ram (3Gb with memory Flag in Executable).
I hope this answer can help to stop the confusion[/url]
Folks need to get past the idea that the only reason a 64-bit executable is to be preferred over 32 is to enable access to larger memory pages. The 64 bit instruction set alone is reason enough, never mind the superior memory management available, in comparison increased memory addressing is a minor benefit of moving to 64 bit.
That this game lists a 64 bit OS as a minimum but does not offer an exe compiled for 64 bit beggars belief.
That this game lists a 64 bit OS as a minimum but does not offer an exe compiled for 64 bit beggars belief.
-
- Posts: 77
- Joined: Thu, 20. Jun 13, 12:54
I can't even begin to imagine why this would be the case. Maybe if you were working with a 20 year old codebase that simply couldn't be retooled, but wasn't X Rebirth supposed to be, I dunno, an improvement? You could totally flip the LAA flag on an X3 executable.Alan Phipps wrote:That is just not at all the case. With a 64 bit OS and more than 4 GB RAM, the exe can itself use just below 4 GB RAM for internal use, and the other RAM fitted can be usefully utilised by the OS, the graphics card as shared memory, peripheral drivers, services and any running background or supporting applications.
- Dread Quixadhal
- Posts: 145
- Joined: Wed, 6. Nov 02, 20:31
I guess the point is, if the MINIMUM requirements include a 64-bit OS, why on Earth would you NOT compile a 64-bit native executable?
It's a setting in the visual studio project, and it's not that hard to change. If you're using 32-bit libraries of some kind, break those off as DLL's if you can't update them.
It's a setting in the visual studio project, and it's not that hard to change. If you're using 32-bit libraries of some kind, break those off as DLL's if you can't update them.
-
- Posts: 711
- Joined: Tue, 20. Jun 06, 02:29
The LAA flag is already flipped for Rebirth, and updating code to work with 64-bit operating systems is more than just flipping a flag. It requires writing the code, and everything the code interacts with (including any third-party middleware), with 64 bit in mind. It certainly isn't just 'a setting' that they can turn on and suddenly their code will work perfectly.Fascism is Magic wrote:I can't even begin to imagine why this would be the case. Maybe if you were working with a 20 year old codebase that simply couldn't be retooled, but wasn't X Rebirth supposed to be, I dunno, an improvement? You could totally flip the LAA flag on an X3 executable.Alan Phipps wrote:That is just not at all the case. With a 64 bit OS and more than 4 GB RAM, the exe can itself use just below 4 GB RAM for internal use, and the other RAM fitted can be usefully utilised by the OS, the graphics card as shared memory, peripheral drivers, services and any running background or supporting applications.
This is true, but they had 7 years to do that. It takes only a few seconds to implement LAA. It's something i look at as an ugly hack for 32 bit programs to run better on 64 bit systems, it's not something a developer should "rely" on. It looks like an amateur move.MutantDwarf wrote:The LAA flag is already flipped for Rebirth, and updating code to work with 64-bit operating systems is more than just flipping a flag. It requires writing the code, and everything the code interacts with (including any third-party middleware), with 64 bit in mind. It certainly isn't just 'a setting' that they can turn on and suddenly their code will work perfectly.Fascism is Magic wrote:I can't even begin to imagine why this would be the case. Maybe if you were working with a 20 year old codebase that simply couldn't be retooled, but wasn't X Rebirth supposed to be, I dunno, an improvement? You could totally flip the LAA flag on an X3 executable.Alan Phipps wrote:That is just not at all the case. With a 64 bit OS and more than 4 GB RAM, the exe can itself use just below 4 GB RAM for internal use, and the other RAM fitted can be usefully utilised by the OS, the graphics card as shared memory, peripheral drivers, services and any running background or supporting applications.
It's about as silly as making a wheelchair that requires legs, or a digital clock that relies on internal analogue hands to determine what the time is.
I agree, it's absolutely mind boggling why they would make it a 32-bit game.
In the years leading up to release there was so much talk and hype about how they are making it future proof, going on about how it's designed from the start to use multithreading scalable to the future CPUs with dozens of cores.
And then they make it 32bit...
Even though every single multicore processor is x64 capable.
I was so happy when I saw that it requires a x64 version of Windows, hoping that we would finally get a game that makes use of the modern install base of 8gb ram, and my 32gb would finally make a difference outside of video editing and VMs.. but no.
In the years leading up to release there was so much talk and hype about how they are making it future proof, going on about how it's designed from the start to use multithreading scalable to the future CPUs with dozens of cores.
And then they make it 32bit...
Even though every single multicore processor is x64 capable.
I was so happy when I saw that it requires a x64 version of Windows, hoping that we would finally get a game that makes use of the modern install base of 8gb ram, and my 32gb would finally make a difference outside of video editing and VMs.. but no.
Luckily they have said that they might later on make a 64 bit executable. But that'll probably be at least another year from now
I think i'm going to be playing Elite Dangerous at that time. X Rebirth might be my lucky break between ED and Star Citizen's release. But clearly the next space sim i will be playing is going to be Limit Theory or Elite Dangerous.
I did not buy this game to be a beta tester.
I think i'm going to be playing Elite Dangerous at that time. X Rebirth might be my lucky break between ED and Star Citizen's release. But clearly the next space sim i will be playing is going to be Limit Theory or Elite Dangerous.
I did not buy this game to be a beta tester.
And is every one of those processors running a 64-bit version of Windows? I suspect not. In any case, it *does* make a difference to run a 32-bit executable on a 64-bit system--in that case, the executable has access to nearly all the 4Gb address space available, as Alan Phipps pointed out; the same executable running on a 32-bit system would have only 2Gb (or possibly 3Gb, if you use the relevant boot flags in Windows to tell it to allow that).f7k wrote: Even though every single multicore processor is x64 capable.
I think the number of 32 bit windows users on steam was something like 12%, don't remember the exact number though.
On a 32 bit system it would be limited to 2gb unless a workaround like you said is used.
A 32 bit system (windows at least) is limited to 3.25GB RAM and Large Address Awareness gives the program this same 3.25GB limit.
It will not use 4GB. and exceeding the 3.25GB limit will crash the game (any 32 bit game)
So we're talking that 2GB is too little for the game, but 3GB is just barely enough, i'm still calling it a bad decision to make it a LAA 32 bit application instead of a 64 bit application that wouldn't have these memory limitations.
Also for a moddable game, if the base game is consuming all the memory the game can use, there's not much room left for modding (look at Skyrim for example, it's much easier to crash it into the ground than Oblivion which uses a lot less memory.)
If the game actually could run on a 32 bit system without any workarounds, an LAA patch for users with a 64 bit system is an acceptable solution for a performance increase, otherwise it's just an ugly hack.
On a 32 bit system it would be limited to 2gb unless a workaround like you said is used.
A 32 bit system (windows at least) is limited to 3.25GB RAM and Large Address Awareness gives the program this same 3.25GB limit.
It will not use 4GB. and exceeding the 3.25GB limit will crash the game (any 32 bit game)
So we're talking that 2GB is too little for the game, but 3GB is just barely enough, i'm still calling it a bad decision to make it a LAA 32 bit application instead of a 64 bit application that wouldn't have these memory limitations.
Also for a moddable game, if the base game is consuming all the memory the game can use, there's not much room left for modding (look at Skyrim for example, it's much easier to crash it into the ground than Oblivion which uses a lot less memory.)
If the game actually could run on a 32 bit system without any workarounds, an LAA patch for users with a 64 bit system is an acceptable solution for a performance increase, otherwise it's just an ugly hack.