Jump to content
Sign in to follow this  
turner112

What does 64 bit do?

Recommended Posts

The original post I stuck on here was intended as a kind of 'rough guide' to the OP's question, nevertheless, you are incorrect in stating that a 64 bit processor cannot do twice as much as a 32 bit one, that is a fact, it is as simple as that.

A bit of basic research will tell you that is the case, to help you out though, have a read of this link, one assumes you will at least believe a technical document from Microsoft if you don't want to take my word for it. Whilst the link refers to the application of sharepoint as means for distribution of word content from 64 bit for servers (since it was the first one I found after a quick google), it isn't perhaps the most relevant reading in relation to flight sims, nevertheless, the fundamentals of 64 Bit itself are still relevant regardless of the application of the process:

https://technet.microsoft.com/en-us/library/dd630755(v=office.12).aspx

Specifically, if you look under the heading 'Understanding the 64 Bit Environment' and the sub header '64-Bit Hardware', you will find this bit in the second paragraph: 'Among other benefits, a 64-bit CPU can calculate individual tasks two times as fast as a 32-bit model and can address significantly more random access memory (RAM) than the 4-gigabyte (GB) limit imposed by 32-bit processors'.

Elsewhere on that link you will also read: 'Although the conversion to 64-bit hardware alone may improve performance somewhat, optimum benefit is derived only when 64-bit hardware and software are working together'. Thus it isn't just the software or the hardware alone which will confer full advantages, but both in conjunction, but regardless of that, the point, I hope, is taken.

 


Alan Bradbury

Check out my youtube flight sim videos: Here

Share this post


Link to post

As noted 64bit is all about memory space  All things being equal, a 64bit game will probably run slower than a 32bit one due to the increased overhead of managing the larger memory space / pointers.

Microsoft claims that the 64bit version of its development platform (Visual Studio) runs 40% slower than the current 32bit one for these reasons.

Cheersbs

 


AMD RYZEN 9 5900X 12 CORE CPU - ZOTAC RTX 3060Ti GPU - NZXT H510i ELITE CASE - EVO M.2 970 500GB DRIVE - 32GB XTREEM 4000 MEM - XPG GOLD 80+ 650 WATT PS - NZXT 280 HYBRID COOLER

Share this post


Link to post
8 hours ago, Chock said:

First up you need to be aware that 64 Bit can refer to hardware as well as software, i.e. you can have a 64 Bit program, or a 64 Bit piece of hardware such as a CPU.

A Bit is a Binary Digit, and it can hold one of two values, either a 1 or a 0. In computer terms, that one and 1 and 0 can be used to represent all kinds of stuff, typically either a yes or a no in the program which is running i.e. it could be something like your computer asking: 'Has your flight sim plane crashed into the ground? if yes, then allocate a 1 value, if no then allocate a 0 value'. Then your program will see the allocated value and whatever that value is (either 1 or 0) will trigger it to do the next bit of processing, i.e if it sees a 1 (i.e. yes, your plane has crashed into the ground), that might trigger the sim to play an explosion animation or whatever. This is essentially how all programs work and it therefore stands to reason the more of this stuff it can process and assign and the faster it can do it, the more efficiently a program or a computer will run.

As the larger number suggests, a 64 Bit CPU (i.e the hardware) can calculate stuff twice as fast as a 32-bit one can, but more importantly where flight sims and stuff are concerned, the 64 Bit process itself, can allocate significantly more random access memory (RAM) to a process than the 32 Bit process ever could, so in addition to doing stuff quicker, 64 Bit can handle more stuff at that quicker speed too.

Where flight sims are concerned, that is important because...

There is a 4-gigabyte limit imposed by the 32-bit process (that's a hard limit, caused by the mathematical value of 32, whereby how much memory which can be used is a multiple of the number, and there is very little which can be done to change that, although when I say very little, there actually is something which can change it. But only tiny bit. See below*).

In fact this limitation can actually be worse than the above sounds, in that some software will not use even 4Gb of memory since it will be designed to keep some free for the operating system. You may recall a few years ago that many people were applying the '3Gb switch' tweak to flight simulators to allow it to use a bit more memory; that's what all that stuff was about and is why for example the Steam version of FSX runs a bit better than the older boxed version, because it had all the tweaks like that and for high memory fixes applied to it by default instead of requiring one to apply service packs and config file tweaks etc.

The 64 Bit difference is hugely significant in that it can support allocating and using up to 1,024 GB of both physical and addressable memory, so unlike with the calculations, which as noted are done twice as fast, the ability to use your PC's hardware is literally 256 times more capable than 32 Bit. This is why everyone is running around like a dog with two tails over all this 64 bit malarkey, because that means your computer will not have programs such as flight simulators crashing due to not being able to utilise the physical capabilities of your computer. Your computer may slow down of course, or drop frame rates, since it still has the same clock and bus speeds, but theoretically it should not crash the program owing to it locking up when it can't use any more memory.

*More recent 64 bit operating systems can address up to 16 terabytes of virtual memory, dividing it equally between the operating system and anything else which is running on the computer. Now as noted, a 32 Bit program can only use up to 4Gb of memory, but, since a 64 Bit operating system can assign craploads of virtual memory, that does mean that with a 64 Bit operating system, your computer can actually allocate that full 4Gb of oomph to a program such as Flight Simulator, so whilst it is true that 32 Bit is limited to 4Gb, it can at least go all the way up to that limit with the assistance of a modern 64 Bit OS.

 

Thank you for the simple explanation for us lay folks :)

Share this post


Link to post
12 hours ago, Chock said:

a 64-bit CPU can calculate individual tasks two times as fast as a 32-bit model

This just goes to show the perils of citing something without being able to critically evaluate it. In my estimation, the phrase 'calculate individual tasks' is gobbledegook.

  • Upvote 3

MarkH

gGzCVFp.jpg
Core i7-7700K / 32Gb DDR4 / Gigabyte GTX1070 / 1080p x 3 x weird / Win7 64 Pro

Share this post


Link to post

Hi,

Most of us have been using 64bit CPUs and 64bit OS since many years ago. The big difference is that now the sim will actually be 64bit (it will be compiled using x64). So, in addition to the gains in memory what does this mean for the performance of an application?

 

- First it will avoid the indirection layer of WOW64 32bit emulation used in Windows. This leads to to a slight increase in performance.

- In x64 mode an application has access to twice as many registers compared to 32bit (the so called x86 mode). This means that local data calculations will not need to access the main memory, more cache memory will be available and thus we'll gain speed.

- It uses double the number of XMM registers (the ones used for floating point calculations, vectors etc).

- Functions are called with the "fast call" convention, avoiding (in many cases), CPU cycles to create stack frames etc.

- On the other hand, a single pointer is now 64bits, meaning it's double in size, so for relatively small data (such as a small array), this means you'll need double the amount of memory.

 

So, what's the net effect? A simple recompile of an application to x64 bit without any other changes/optimization as an average will lead to a 20-30% increase in speed, but this depends on the type of the application. For a whole world flight sim, where the "basic stuff" (such as the lat/lon coordinates) need to have double precision (aka 64bit), this is even more important and so CPU performance will likely see even more benefits.

The one thing you have to keep in mind as far as modern games are concerned is that the main bottleneck in most cases is not the CPU. It's either the GPU itself (depending on the power, the AA level and the amount of semi-transparent objects that need to be rendered such as the clouds) or CPU-GPU communication. In a whole world sim, the disk-RAM also play an important role as we need to update objects and textures on the fly

As far as P3D v4 (since I've been a beta tester), I think we get the expected performance gains. I've seen (on my modest machine, with everything default except for AS/ASCA) a steady increase in frames from 25-55 in P3D v3 (depending on the conditions) to about 35-75 in P3D v4. Of course YMMV and things will probably get worse as we add more addons and stuff, but I think it's a good starting point.

Kostas Terzides,

Active Sky developer

 

 

  • Upvote 6

Kostas Terzides

 

devteam_bannerA.png

Share this post


Link to post

Thanks for the info, Kostas!  I'd forgotten about the doubling of XMM registers with the introduction of the 64-bit extension to x86 and the uarchs that followed.  That takes me back...  I was studying to be an electrical engineer in those days, gave it up though as my brain just doesn't like higher level maths.  Too much abstraction for me.  

Super pumped about the perf. gains now.  On my current sim PC, FSX:SE is flyable in any situation but a few more FPS at the bottom end in those worst case scenarios might give me enough to lock FPS.

Share this post


Link to post

@Chock Could you please stop that "twice as fast" bs? Thank you :-)

  • Upvote 3

Share this post


Link to post

This is much better than the movie! :biggrin:

  • Upvote 1

Best regards,
--Anders Bermann--
____________________
Scandinavian VA

Pilot-ID: SAS2471

Share this post


Link to post
7 hours ago, Anders Bermann said:

This is much better than the movie! :biggrin:

Way too many subtitles though...my popcorn got stale trying to read it all.


Anthony A. Moise

fbsupporter2.jpg

Share this post


Link to post
On 2017-5-27 at 1:24 PM, Chock said:

First up you need to be aware that 64 Bit can refer to hardware as well as software, i.e. you can have a 64 Bit program, or a 64 Bit piece of hardware such as a CPU.

A Bit is a Binary Digit, and it can hold one of two values, either a 1 or a 0. In computer terms, that one and 1 and 0 can be used to represent all kinds of stuff, typically either a yes or a no in the program which is running i.e. it could be something like your computer asking: 'Has your flight sim plane crashed into the ground? if yes, then allocate a 1 value, if no then allocate a 0 value'. Then your program will see the allocated value and whatever that value is (either 1 or 0) will trigger it to do the next bit of processing, i.e if it sees a 1 (i.e. yes, your plane has crashed into the ground), that might trigger the sim to play an explosion animation or whatever. This is essentially how all programs work and it therefore stands to reason the more of this stuff it can process and assign and the faster it can do it, the more efficiently a program or a computer will run.

As the larger number suggests, a 64 Bit CPU (i.e the hardware) can calculate stuff twice as fast as a 32-bit one can, but more importantly where flight sims and stuff are concerned, the 64 Bit process itself, can allocate significantly more random access memory (RAM) to a process than the 32 Bit process ever could, so in addition to doing stuff quicker, 64 Bit can handle more stuff at that quicker speed too.

Where flight sims are concerned, that is important because...

There is a 4-gigabyte limit imposed by the 32-bit process (that's a hard limit, caused by the mathematical value of 32, whereby how much memory which can be used is a multiple of the number, and there is very little which can be done to change that, although when I say very little, there actually is something which can change it. But only tiny bit. See below*).

In fact this limitation can actually be worse than the above sounds, in that some software will not use even 4Gb of memory since it will be designed to keep some free for the operating system. You may recall a few years ago that many people were applying the '3Gb switch' tweak to flight simulators to allow it to use a bit more memory; that's what all that stuff was about and is why for example the Steam version of FSX runs a bit better than the older boxed version, because it had all the tweaks like that and for high memory fixes applied to it by default instead of requiring one to apply service packs and config file tweaks etc.

The 64 Bit difference is hugely significant in that it can support allocating and using up to 1,024 GB of both physical and addressable memory, so unlike with the calculations, which as noted are done twice as fast, the ability to use your PC's hardware is literally 256 times more capable than 32 Bit. This is why everyone is running around like a dog with two tails over all this 64 bit malarkey, because that means your computer will not have programs such as flight simulators crashing due to not being able to utilise the physical capabilities of your computer. Your computer may slow down of course, or drop frame rates, since it still has the same clock and bus speeds, but theoretically it should not crash the program owing to it locking up when it can't use any more memory.

*More recent 64 bit operating systems can address up to 16 terabytes of virtual memory, dividing it equally between the operating system and anything else which is running on the computer. Now as noted, a 32 Bit program can only use up to 4Gb of memory, but, since a 64 Bit operating system can assign craploads of virtual memory, that does mean that with a 64 Bit operating system, your computer can actually allocate that full 4Gb of oomph to a program such as Flight Simulator, so whilst it is true that 32 Bit is limited to 4Gb, it can at least go all the way up to that limit with the assistance of a modern 64 Bit OS.

 

Someone buy that man a beer 🍻.   That's one of the best posts I've been in ages


 
 
 
 
14ppkc-6.png
  913456

Share this post


Link to post
19 hours ago, kterz said:

Hi,

Most of us have been using 64bit CPUs and 64bit OS since many years ago. The big difference is that now the sim will actually be 64bit (it will be compiled using x64). So, in addition to the gains in memory what does this mean for the performance of an application?

 

- First it will avoid the indirection layer of WOW64 32bit emulation used in Windows. This leads to to a slight increase in performance.

- In x64 mode an application has access to twice as many registers compared to 32bit (the so called x86 mode). This means that local data calculations will not need to access the main memory, more cache memory will be available and thus we'll gain speed.

- It uses double the number of XMM registers (the ones used for floating point calculations, vectors etc).

- Functions are called with the "fast call" convention, avoiding (in many cases), CPU cycles to create stack frames etc.

- On the other hand, a single pointer is now 64bits, meaning it's double in size, so for relatively small data (such as a small array), this means you'll need double the amount of memory.

 

So, what's the net effect? A simple recompile of an application to x64 bit without any other changes/optimization as an average will lead to a 20-30% increase in speed, but this depends on the type of the application. For a whole world flight sim, where the "basic stuff" (such as the lat/lon coordinates) need to have double precision (aka 64bit), this is even more important and so CPU performance will likely see even more benefits.

The one thing you have to keep in mind as far as modern games are concerned is that the main bottleneck in most cases is not the CPU. It's either the GPU itself (depending on the power, the AA level and the amount of semi-transparent objects that need to be rendered such as the clouds) or CPU-GPU communication. In a whole world sim, the disk-RAM also play an important role as we need to update objects and textures on the fly

As far as P3D v4 (since I've been a beta tester), I think we get the expected performance gains. I've seen (on my modest machine, with everything default except for AS/ASCA) a steady increase in frames from 25-55 in P3D v3 (depending on the conditions) to about 35-75 in P3D v4. Of course YMMV and things will probably get worse as we add more addons and stuff, but I think it's a good starting point.

Kostas Terzides,

Active Sky developer

 

 

Thanks kostas..  Do me a favour have meeting with fsl,  pmdg and Pete dowson will you then we won't have to tweak your products and the others to get them to work In harmony 😋


 
 
 
 
14ppkc-6.png
  913456

Share this post


Link to post

@chock

Maybe you didn't read this paragraph or you didn't understand it.

Quote

Better parallel processing

A server that is using 32-bit architecture is limited to 32 CPUs. Improvements in parallel processing and bus architectures enable 64-bit environments to support as many as 64 processors and provide almost linear scalability with each additional processor.

Pls stop talking trash.

Spirit

PS: Ever heard about this? Doubleword

Share this post


Link to post
44 minutes ago, spirit_66 said:

@chock

Maybe you didn't read this paragraph or you didn't understand it.

Pls stop talking trash.

Spirit

PS: Ever heard about this? Doubleword

I'll be honest with you, I really couldn't care less what you think if I tried. If anyone didn't comprehend that my post to the original question on this thread was a quickly typed general answer to the OP's question, as opposed to being a super-detailed treatise on every subtle nuance of what 64 bit can and cannot do, then feel free to bestow any other intent on it you like. If recall correctly, my reply was within an hour or so of the original question having been asked. Where was everyone else when someone asked for assistance on understanding something? Oh yeah, that's right, three days late with their irrelevant comments, rather than trying to be helpful in a timely fashion. And I'll be further honest with you too, if this kind of stuff keeps up, I will be deleting my account on Avsim and giving up as a Staff Reviewer, because frankly, I've had enough of all the sniping that goes on, on threads when people are merely trying to be helpful quickly.

  • Upvote 1

Alan Bradbury

Check out my youtube flight sim videos: Here

Share this post


Link to post

C'mon guys, 

this is all pinnuts...

Give me a version of a flight Simulator and a PC that achieve Bremermann's limit and we're talking...

Eberything else is toooo cosy... :-)


Main Simulation Rig:

Ryzen 5600x, 32GB RAM, Nvidia RTX 3060 Ti, 1 TB & 500 GB M.2 nvme drives, Win11.

Glider pilot since 1980...

Avid simmer since 1992...

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...