Jump to content

How much would 64-bit actually matter?


tstehler1

Recommended Posts

This matter has been bugging me for a good while now. When I run KSP, My computer's RAM usage only goes up by about a gigabyte and a half, far below the maximum amount allowed in the 32-bit game. If a 64-bit version of the game does appear (yes, I know there's a Linux one already), what would the difference be? Wouldn't the game still only use about 1.5 GB, since that's all it needs to run in the first place?

Link to comment
Share on other sites

The physics calculations wouldn't really change, as there's nothing stopping a 32 bit client from doing 64 bit or 128 bit floating point, and nothing stopping a 64 bit client from doing 32 bit floating point.

Goldham's other point is correct, however. It probably wouldn't affect people running stock, but it would give people running the larger parts mods breathing room, assuming that they have at least 6 GB of ram. Since 64 bit clients need 64 bit pointers and KSP uses a lot of pointers, the same number of parts would actually take up more room (the 64-bit Linux client, for example, takes about 30% more memory than the 32 bit client, from what I've read).

Link to comment
Share on other sites

The one thing that I would be concerned about with 64 bit is increasing the size (and thus accuracy) of floating point values. They might be more accurate, sure, but 64 bit decimal values also take longer to calculate, perhaps leading to lower performance in some cases. I would love it just for the extra memory capacity for mods though XD

Link to comment
Share on other sites

More ram = more mods. Though .23 is supposed to be a lot of under the hood optimization work so the inefficient way textures were loaded may go away and allow for more mods...

it was thought that 64bit would also bring the ability for physics to be done on multiple cores instead of just one... but that is not inherent to 64bit and is something we just have to wait for Unity to add in.

Link to comment
Share on other sites

This matter has been bugging me for a good while now. When I run KSP, My computer's RAM usage only goes up by about a gigabyte and a half, far below the maximum amount allowed in the 32-bit game. If a 64-bit version of the game does appear (yes, I know there's a Linux one already), what would the difference be? Wouldn't the game still only use about 1.5 GB, since that's all it needs to run in the first place?

There will be absolutely no noticeable difference for you (or most people, including me). Turning 64-bits will give more space for mods, that is it.

Link to comment
Share on other sites

For stock players 64-bit won't do that much (64 bit programs actually use a bit more memory).

The raised RAM cap will certainly benefit mod savy players, since 'running out of memory' is an issue.

Sometimes the mods are to blame, but raising the cap will help those players.

(The 32-bit RAM cap is actually a Microsoft imposed limit, Win XP for example can easily handle 100+ GB of ram, but MS wants you to buy special licences for that. There is also a trick to allow 32 bit programs on 64 bit OS to use more RAM [here])

It will not increase accuracy, a 32 bit OS can do larger-bit-number calculations.

Link to comment
Share on other sites

If you want to run a heavily modded game (and have the hardware for it), 64Bit would be a real improvement. For example, my computer has 12GB RAM, but because it's 32Bit it crashes at about 3.7GB memory usage, which means I can't install all the mods I want at the same time. So I have to carefully choose which mods I want, and if I run them at full textures, or use redux textures just for the reduced memory usage. If KSP was 64Bit capable on windows, I could probably install ALL THE MODS (okay, all that I want). I actually installed a Linux to play 64Bit-KSP, but as it turns out, there are no proper linux drivers for my graphics card anymore.

Link to comment
Share on other sites

64-bit and multi-processor support would benefit most of us who use mods. I'm always riding the 3.5 GB limit even with texture reducers. Would be nice to be able to fill my KSP loadup with every mod that I want to run, limited only by what runs stable and what fits in the 12 GB of RAM in my rig.

Link to comment
Share on other sites

For stock players 64-bit won't do that much (64 bit programs actually use a bit more memory).

The raised RAM cap will certainly benefit mod savy players, since 'running out of memory' is an issue.

Sometimes the mods are to blame, but raising the cap will help those players.

(The 32-bit RAM cap is actually a Microsoft imposed limit, Win XP for example can easily handle 100+ GB of ram, but MS wants you to buy special licences for that. There is also a trick to allow 32 bit programs on 64 bit OS to use more RAM [here])

It will not increase accuracy, a 32 bit OS can do larger-bit-number calculations.

On the other side, unless you're talking about the not so well polished Windows XP 64, a 32bits operating system like Windows XP using more than 4GB of memory addresses (including system RAM and VRAM, so if your GPU has 512MB of VRAM, Windows XP could access only 3'5GB of RAM) was due to the Physical Address Extension software implementation from Microsoft, altough still with limits. 32bits is worth the size of 4GB of memory natively, by hardware limitations of the IA32 (x86) arquitecture processors. The original 2GB limit per application in Windows XP makes sense, as other than the software, you need to run the operative system and the VRAM under that 4GB limit, and the P.A.E. for Windows to recognise RAM over the 4GB limit and the patch for applications that you point were developed years later after Windows XP was born in 2001, were 64 bits computing didn't exist in desktop PC land.

The AMD64 (x64) arquitecture born in 2003 has the capacity to direct by hardware up to 16EB (exabytes!) of memory addresses, as well as a expanded instructions set, altough most motherboards cut that to 128GB or something still unatainable today, and Windows Vista/7/8 probably don't have a software support fot the full 16EB.

For the last ten years we had already hardware parts compliant with 64 bits computing, but the negative of people to let Windows XP die is what makes today still a common thing to used software written for 32 bits computing, when it should be a matter of the past. Windows XP 64 was born in 2005, Windows Vista in 2007, Windows 7 in 2009, Windows 8 in 2012, we had plenty of 64 bits operating systems along the years, as well as tens of Linux distributions.

Unity isn't fully 64 bits compliant because of that, people still doesn't feel like it's needed to use 64 bits still, thus making most of the modern day PCs with 4GB, 8GB or even more of RAM unable to use more than 3'7GB or so in a single application.

Edited by Demon_82
Orthography
Link to comment
Share on other sites

The one thing that I would be concerned about with 64 bit is increasing the size (and thus accuracy) of floating point values. They might be more accurate, sure, but 64 bit decimal values also take longer to calculate, perhaps leading to lower performance in some cases. I would love it just for the extra memory capacity for mods though XD

A float has the same size in 32 bits and 64 bits. 64bits is about memory size and not about accuracy or speed.

Link to comment
Share on other sites

The size of float is based on how the compiler is implementing it. A proper compiler can float 1024 bits or even more if desired. Speed takes a hit when you have to operate on more bits than your processor can load in at once. Thus, 64 bit is going to be quicker than a 32 bit processor. Especially on math intensive programs, and that is exactly what KSP is.

Link to comment
Share on other sites

Youre all saying that 32 bit processors can handle big floats and thats true. the only thing is that Physx does not support it. All physics calculations are done with vectors of 32 bit floats. A "true" x64 Unity would mean that all its extensions are made able to use 64 bits. In this case, this would mean integrating a later version of Physx, for example physx 3 (current verson used is physx 2), or a different, more capable engine like Bullet (bonus points for bullet because it supports natively joints and motors and GPU calculation via OpenCL)

Edited by earth
Link to comment
Share on other sites

Yeah. It'd solve a lot (probably) if they could easily port the physics side of things to something like Bullet, I think. But I'm no programmer, and even I recognise that trying to re-do the entirety of the physics on a brand-new engine would basically be like re-coding every last scrap of physics calculations, in most cases. Games that switch engines have a tendency of going incredibly far downhill (e.g., Duke Nukem, etc.).

Link to comment
Share on other sites

On the other side, unless you're talking about the not so well polished Windows XP 64, a 32bits operating system like Windows XP using more than 4GB of memory addresses (including system RAM and VRAM, so if your GPU has 512MB of VRAM, Windows XP could access only 3'5GB of RAM) was due to the Physical Address Extension software implementation from Microsoft, altough still with limits. 32bits is worth the size of 4GB of memory natively, by hardware limitations of the IA32 (x86) arquitecture processors. The original 2GB limit per application in Windows XP makes sense, as other than the software, you need to run the operative system and the VRAM under that 4GB limit, and the P.A.E. for Windows to recognise RAM over the 4GB limit and the patch for applications that you point were developed years later after Windows XP was born in 2001, were 64 bits computing didn't exist in desktop PC land.

-snip-

PAE is from 1995 and predates XP by a wide margin. It's original form could go up to 64 GB.

A more advanced version with PSE (Page Size Extention) stacked on that could take:

...a maximum of 52 bits are available to address 252 bytes, or 4 petabytes, of physical memory.

(Though THAT kind of hardware doesn't exist even now :P)

All that on a 32-bit CPU.

x86-64 can natively go up to 256 TB of RAM(!!!) (without the need of PAE tricks), but Win7 is limited to 16GB or 192GB and Win8 is limited to 16 or 512GB, depending on how much $$$ you cough up.

Of course: because of MS' imposed restrictions regular hardware and software vendors never invested in high-RAM capable hard or software. Hence other components and 'regular consumer software' often can't cope with that extended RAM trick.

MS then used THAT as argument to not 'unlock' windows "since many programs/other hardware can't handle it" (nice circular reasoning eh?).

Moral of the story: RAM restrictions have very little to do with 32-bit processing, but everything with making money.

Edited by OrtwinS
Link to comment
Share on other sites

64 bit is going to be quicker than a 32 bit processor. Especially on math intensive programs, and that is exactly what KSP is.

Indeed. I've been runnning a 64-bit OS for years, even though I've never needed to push this machine above 4GB of RAM. Proper 64-bit apps are noticeably faster for hefty computational tasks like video encoding. Which is what you'd expect, really.

If Unity actually optimised their code for 64-bit then it would make a real difference for KSP, where the game is heavily bottlenecked by a single thread of computation. I do run KSP in 64-bit as I have a 64-bit Linux machine, but it's hard to say how much of an improvement there is. I should probably figure out some kind of test I could run in both 32-bit and 64-bit that would spit out some useful numbers.

Link to comment
Share on other sites

Well, on memory 64bit would allow for more than 4GB per a segment. This makes programming large memory use a lot easier, as no segmentation would be necessary.

This added space would allow for allocation of all data into virtual memory, whether or not it is loaded, so it would reduce constant allocation and deallocation of data objects. (For example texture maps of all the planets.)

Second, it would greatly improve performance of integer operations, and large memory transfers. Integer operations, especially 64bit ones, are significantly slower on 32bit platforms because of fewer available registers.

Link to comment
Share on other sites

Ruedii is correct.

I think there is a miss conception of what '64 bit' is. On the processor it means you have a 64 bit general purpose and 64 bit floating point register vs 32 bits. This is why you can address more memory 2^64 (18446744073709551616 bits / 16EB) vs a 32 bit processor 2^32 (4294967296 bits / 4GB). This allows for a more efficient way of addressing memory addresses larger than 32 bits as Ruedii said above.

The reason there is usually more memory used by 64 bit application is memory pointers are now 64 bits (8 bytes) vs 32 bits (4 bytes). Also if we are using both 32 bit and 64 bit libraries we must load both libraries into memory which usually constitutes the bulk of the memory increase. I am not sure what the root language is for KSP but if it is C based than any 'long int' data types would now consume 8 bytes vs 4 bytes.

Will be interesting to see what the performance differences would be for KSB but I think .23 is supposed to have some engine optimizations as well which would be awesome.

Link to comment
Share on other sites

For stock players 64-bit won't do that much (64 bit programs actually use a bit more memory).

There is also a trick to allow 32 bit programs on 64 bit OS to use more RAM

It will not increase accuracy, a 32 bit OS can do larger-bit-number calculations.

I just check the KSP executable and the flag for using greater than 2gig is already set so the trick will not do anything.

Link to comment
Share on other sites

(Though THAT kind of hardware doesn't exist even now :P)

Nitpicking mode: it does, ask Cray.. And it even runs on Linux, though i doubt you could run KSP (no display by itself, no graphics card either). It would run slow anyway due to lack of multi cpu support...

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...