Jump to content

64 Bit Client. What Can We Expect From That?


88 replies to this topic

#21 Creovex

    Member

  • PipPipPipPipPipPipPipPip
  • The Blood Bound
  • The Blood Bound
  • 1,466 posts
  • LocationLegendary Founder, Masakari Collector, Man-O-War Collector, Wrath Collector, Gladiator Collector, Mauler Collector

Posted 18 December 2014 - 07:50 PM

View PostScratx, on 18 December 2014 - 07:47 PM, said:

Hmm. Okay, I'm going to get technical. THIS IS GOING TO GET REAL!!!! :P

(if I make a mistake, forgive me)

First of all, a reference point. Every "position" in memory has an address, like every house. This address tells the computer where to look for what you want, just like you'd use an address to find where you need to drive to.

The main difference between 32 bit and 64 bit is that, in 32 bits, all addresses are a value between zero and (2^32)-1, which is exactly 4,294,967,295. In 64 bits, it's a value between zero and (2^64)-1, which is, if I didn't break windows calculator, 18,446,744,073,709,551,616.

This is why it's said that 32bit computers can't benefit from having more than 4GB. Though as it turns out, due to shenanigans in Windows, you can only use 2GB in an application, or 3GB with tricks that are not always safe (read: WILL crash your computer sometimes). Windows itself CAN use the 4GB and even more than that, but that is not relevant here.

In MWO's case, what this means is that instead of being stuck to around 2-3GB tops in memory use, by going 64 bits you can effectively use all the memory you have. This means you can load data to memory and not throw it away just because it's not being used right now, for example. Or use more memory hungry storage techniques which end up being faster to actually use due to details of how it's used.

There are other benefits, though. By going 64 bit, you're also ditching the 32 bit instruction set and going into the 64 bit instruction set on the CPU. While I haven't studied it in-depth, I'm told the 64bit instruction set is a LOT better in many ways, having access to more registers, removing cruft and other nice things that make common operations a lot faster. The more registers thing in particular is very important because operations that involve just registers are ultra-fast, but if you need to handle move values than you have registers for, you have to store stuff in memory, which automatically hits your speed. Accessing cache is several times slower than a register... and you really don't want to know how much slower main memory is.

There are drawbacks as well, though... going 64 bit does have one big penalty. By increasing data size in memory, it also reduces the efficiency of your CPU cache (less actual data can fit in at the same time), which means you'll be paying the cache miss penalties more frequently. Cache miss meaning that the data you want isn't in the (relatively fast) cache, so it has to go fetch it from the OMGSLOW main memory. This is in fact one of the main reasons why going 64 bit isn't a "no brainer" decision to any software engineer. What you gain with the instruction set can be lost with cache misses, depending on your algorithms. (other major reasons include "64 bit executables won't run on part of our potential player base", "we have to support TWO different executables, that's a lot of additional work")

I'm happy to see MWO supporting a 64 bit client because, honestly, 64 bit is the future and it removes a lot of limitations that otherwise need technical work-arounds to do. Wish more games did it, but when it comes down to it, if your game doesn't really need 64 bit, going 64 bit isn't likely to give you much of anything... except a smaller customer base.

One day we'll all have 64 bit OS's. Not much longer, now, I think...


Long story short... 64 bit isn't the future, it is the the present and developers have been half-assing it for a long time with regards to stepping up and forcing it as the standard. No offense, but I call a Spade... a Spade.

#22 Scratx

    Member

  • PipPipPipPipPipPipPipPipPip
  • Survivor
  • Survivor
  • 3,283 posts

Posted 18 December 2014 - 07:55 PM

View PostCreovex, on 18 December 2014 - 07:50 PM, said:


Long story short... 64 bit isn't the future, it is the the present and developers have been half-assing it for a long time with regards to stepping up and forcing it as the standard. No offense, but I call a Spade... a Spade.


Yes, but they do have reasons why they still mainly support 32bit. So, people, get going with upgrading your older computers with 32bit Windows to something newer!

Honestly, I think we're already a bit past the time where it's not really worth catering to 32bit users. Steam stats on windows say there's about 5% 32bit users... if I were to make a game myself I wouldn't bother targeting 32bit at this point.

#23 Roland

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • 8,260 posts

Posted 18 December 2014 - 08:01 PM

View PostGyrok, on 18 December 2014 - 06:08 PM, said:


It does to a lesser degree because you have access to 64 bit code. I know that may sound greek to you, but trust me...there is a difference between 32 bit and 64 bit code, and 64 bit code tends to be more efficient per string. Not by a huge margin in stuff like this, mind you, but enough you may pick up a few FPS out of the deal...

What exactly about 64 bit software do you believe is "more efficient per string"? While your at it, could you clarify what you mean by "more efficient per string"?

Generally, the primary benefit you would see simply by compiling into a 64 bit binary rather than a 32 bit one on windows is just that you would avoid the WoW64 layer, but that alone would generally only net you a fairly insignificant gain, maybe one or two percentage improvement in performance. And this isn't really inherent in the change in architecture, but rather is simply due to the fact that you need an extra translation later when running one architecture's binaries on a different one (32 bit binaries on a 64 bit os)

The primary benefit of 64 bit stems simply from the fact that you can represent bigger numbers with more bits. This is why it let's you access more memory, because the largest number that can be represented by 32 bits is 4294967296. Computer memory is accessed by numerically pointing to locations in memory, and this with 32 bits you are generally limited to 4294967296 bytes of memory, or 4 gigs.

When you move to 64 bits, the largest number that you can represent goes up to around 1.8 quintillion, or basically way more memory address spaces than you will ever need.

For an operating system, 64 bits is important, since being limited to only 4 gigs of memory is problematic when you are taking about all the things you run simultaneously.

But for a single application, it's not generally as big a deal, as most applications used by consumers don't require more than 4 gigs of memory. This is why until recently, most games have remained 32 bit binaries.

For the change with mwo, i wouldn't expect to see much in terms of noticeable efficiency gains for most users.

#24 Bill Lumbar

    Member

  • PipPipPipPipPipPipPipPipPip
  • Death Star
  • 2,073 posts

Posted 18 December 2014 - 08:02 PM

I have been on 64 bit OS for around 9 years now. I am sorry, but it is the future and that future is pretty much here and has been for about 6 years now easy. I have built computers for around the same time, I have never installed a 32 bit OS on a clients computer in that time, unless it was an Install of a version of Linux for a client back several years ago, 64-bit took some work to get right on a system back then. (flash, etc etc.)

#25 Creovex

    Member

  • PipPipPipPipPipPipPipPip
  • The Blood Bound
  • The Blood Bound
  • 1,466 posts
  • LocationLegendary Founder, Masakari Collector, Man-O-War Collector, Wrath Collector, Gladiator Collector, Mauler Collector

Posted 18 December 2014 - 08:03 PM

UP! Patching!

#26 Bill Lumbar

    Member

  • PipPipPipPipPipPipPipPipPip
  • Death Star
  • 2,073 posts

Posted 18 December 2014 - 08:05 PM

me too!

#27 CocoaJin

    Member

  • PipPipPipPipPipPipPipPipPip
  • 3,607 posts
  • LocationLos Angeles, CA

Posted 18 December 2014 - 08:12 PM

So my 3 GB RAM laptop with onboard gfx chip that shares it's memory with system RAM would not be a candidate for the the 64 bit client?

#28 Klappspaten

    Member

  • PipPipPipPipPipPipPipPip
  • Bad Company
  • Bad Company
  • 1,211 posts

Posted 18 December 2014 - 08:24 PM

View PostCocoaJin, on 18 December 2014 - 08:12 PM, said:

So my 3 GB RAM laptop with onboard gfx chip that shares it's memory with system RAM would not be a candidate for the the 64 bit client?


Probably not, with only 3gb RAM it doesn´t make much sense going for 64bit.

#29 Roland

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • 8,260 posts

Posted 18 December 2014 - 08:35 PM

If your laptop only has three gigs of ram, it likely is not running a 64 bit operating system, so you can't run 64 binaries anyway.

#30 Wintersdark

    Member

  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,375 posts
  • Google+: Link
  • Twitter: Link
  • LocationCalgary, AB

Posted 18 December 2014 - 08:47 PM

View PostCocoaJin, on 18 December 2014 - 08:12 PM, said:

So my 3 GB RAM laptop with onboard gfx chip that shares it's memory with system RAM would not be a candidate for the the 64 bit client?

It won't make any perceptible difference at all to you. I'd stay 32 bit, if for no other reason than the 64bit executable will be (it's new) potentially buggy.

#31 Samurai 7

    Member

  • PipPipPip
  • 85 posts

Posted 18 December 2014 - 08:48 PM

This wont make much of a difference for most people; even those with more RAM; The fact is that most of the MAPs are under 1GB in size; When the map loads, its loading it from your HDD to your memory; I just played a few maps and the client usage never went above 900MB;
You load several .pak files depending on the map; common .paks are:
The textures.pak is about 400MB, level.pak is about 15MB and the invasion.pak, 153MB,
I think this is more in preparation for larger maps and more textures for better looking maps; This way clients with tons of RAM will be able to load the full map into memory where as the 32bit users might be loading and unloading parts of the map from disk.

#32 Vinhasa

    Member

  • PipPipPip
  • The Merciless
  • The Merciless
  • 87 posts

Posted 18 December 2014 - 09:01 PM

View PostSamurai 7, on 18 December 2014 - 08:48 PM, said:

This wont make much of a difference for most people; even those with more RAM; The fact is that most of the MAPs are under 1GB in size; When the map loads, its loading it from your HDD to your memory; I just played a few maps and the client usage never went above 900MB;
You load several .pak files depending on the map; common .paks are:
The textures.pak is about 400MB, level.pak is about 15MB and the invasion.pak, 153MB,
I think this is more in preparation for larger maps and more textures for better looking maps; This way clients with tons of RAM will be able to load the full map into memory where as the 32bit users might be loading and unloading parts of the map from disk.


So what else accounts for all of the loading time? I have a VERY fast system (Samsung xp941 m.2 hard drive, 3000 MHz ddr4 ram etc, on dual trunked internet connections that bottom out at 30 mb/s), so that takes less than a second to load. Why is it still taking me 20-30 seconds to load into a game (at the absolute best)?

#33 mogs01gt

    Member

  • PipPipPipPipPipPipPipPipPip
  • Shredder
  • 4,292 posts
  • LocationOhio

Posted 18 December 2014 - 09:03 PM

View PostCreovex, on 18 December 2014 - 07:50 PM, said:


Long story short... 64 bit isn't the future, it is the the present and developers have been half-assing it for a long time with regards to stepping up and forcing it as the standard. No offense, but I call a Spade... a Spade.

Its going to be like 10 years or so before we start sing 128bit OS's in the mainstream.

#34 Scratx

    Member

  • PipPipPipPipPipPipPipPipPip
  • Survivor
  • Survivor
  • 3,283 posts

Posted 18 December 2014 - 09:04 PM

Dropped a couple times just now on the 64bit client. No problems to report so far.

<is pleased>

#35 MrMadguy

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,307 posts

Posted 18 December 2014 - 09:08 PM

Works. No new bugs. No crashes due to insufficient memory. Performance is ok.

#36 Scratx

    Member

  • PipPipPipPipPipPipPipPipPip
  • Survivor
  • Survivor
  • 3,283 posts

Posted 18 December 2014 - 09:09 PM

View Postmogs01gt, on 18 December 2014 - 09:03 PM, said:

Its going to be like 10 years or so before we start sing 128bit OS's in the mainstream.


lolno

128 bit is utter overkill. Anything you might need that kind of addressing space for you're going to be working on specialized supercomputers anyway.

And for computations there are probably (almost definitely certain) libraries that offer that kind of precision already. Though there's not a lot of stuff you'd need better precision than double precision to deal with. Just make sure you understand the data type, how the standard works and how to minimize error margins and avoid catastrophic cancellations and whatnot.

#37 Samurai 7

    Member

  • PipPipPip
  • 85 posts

Posted 18 December 2014 - 09:14 PM

View PostVinhasa, on 18 December 2014 - 09:01 PM, said:

So what else accounts for all of the loading time? I have a VERY fast system (Samsung xp941 m.2 hard drive, 3000 MHz ddr4 ram etc, on dual trunked internet connections that bottom out at 30 mb/s), so that takes less than a second to load. Why is it still taking me 20-30 seconds to load into a game (at the absolute best)?



Your waiting on the servers. Each time a game is launched it has to load the map geometry (the wire frame system that sits below the textures) while at the same time talking with the clients and checking in on them to see if they are done loading, loading the chat room. etc etc. If you ever do a packet capture pre-match, there is a lot of chatter going on;
To further that point,
I have 64GB of Ram; So just for fun i created a 32GB RAM drive and dropped MWO into it; Didnt make much of a difference.
I also run 6 SSD's in RAID 0 on a PCIe 3.0 SAS card; Which had a higher throughput then the xp941... i know cause i have one of those on my desk. (blame ASUS); With the drives i have i can max out at about 2.3GB/s; They are older gen SSDs;
So it doesnt madder in this case how much hardware you throw at it, there are diminishing returns past a certain point.

Not showing off; im just single, wealthy and board.....

#38 Mothykins

    Member

  • PipPipPipPipPipPipPipPip
  • Talon
  • Talon
  • 1,125 posts
  • Locationilikerice is my hero.

Posted 18 December 2014 - 09:38 PM

Well, I used to dip to 30 FPS; Now It's only dipping to 45. Actually getting a 55-70 FPS average.

Not bad.

#39 Bill Lumbar

    Member

  • PipPipPipPipPipPipPipPipPip
  • Death Star
  • 2,073 posts

Posted 18 December 2014 - 10:09 PM

View PostCavale, on 18 December 2014 - 09:38 PM, said:

Well, I used to dip to 30 FPS; Now It's only dipping to 45. Actually getting a 55-70 FPS average.

Not bad.

pretty much the same here..... I used to see dips into 25 fps only in CW drops, and would avg. around 35-50 mark. Now I am seeing dips into 40, and seeing 55-85 avg. :-) loving it

#40 Phlinger

    Member

  • PipPipPipPipPipPipPip
  • Liquid Metal
  • Liquid Metal
  • 595 posts

Posted 18 December 2014 - 10:15 PM

View PostBill Lumbar, on 18 December 2014 - 10:09 PM, said:

pretty much the same here..... I used to see dips into 25 fps only in CW drops, and would avg. around 35-50 mark. Now I am seeing dips into 40, and seeing 55-85 avg. :-) loving it


Same here. Haven't had any problems so far.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users