Jump to content
Frankdatank1218

How much can this 64bit executable help?

Recommended Posts

I know that simply amending Arma 3 with a 64bit exe is not going to boost performance on the CPU side much at all. Any real gains requires rewriting the very core of the engine and therefore everything running off of that foundation.

However, 64bit allows much more RAM to be used. 32bit limits RAM usage to 4gb. As someone with 16gb of RAM I am curious how much of that additional 12gb can be utilized and how much it can increase performance. 

  • Like 1

Share this post


Link to post
Share on other sites

64 bit arhitecture of memory IS NOT silver bullet that will save performance.It will probably help a little bit but we won't notice.

Share this post


Link to post
Share on other sites

64bit! More ram usage! I might actually be able to play Arma without it telling me I don't have enough RAM to play even though I have 16gb.. 

Share this post


Link to post
Share on other sites

I know that simply amending Arma 3 with a 64bit exe is not going to boost performance on the CPU side much at all. Any real gains requires rewriting the very core of the engine and therefore everything running off of that foundation.

However, 64bit allows much more RAM to be used. 32bit limits RAM usage to 4gb. As someone with 16gb of RAM I am curious how much of that additional 12gb can be utilized and how much it can increase performance. 

it decreases the instances where stuff in RAM needs to be unloaded and the new stuff loaded from disk (which in case of SSD is not really so bad). I can't imagine it doing alot for fps. We'll have to see.

Share this post


Link to post
Share on other sites

it decreases the instances where stuff in RAM needs to be unloaded and the new stuff loaded from disk (which in case of SSD is not really so bad). I can't imagine it doing alot for fps. We'll have to see.

 

To quote a certain popular article that puts this in perspective:

 

                           Time       Relatively the same as
-------------------------------------------------------------
1 CPU cycle                0.3 ns     1 s
Level 1 cache access       0.9 ns     3 s
Level 2 cache access       2.8 ns     9 s
Level 3 cache access       12.9 ns    43 s
>> Main memory access      120 ns     6 min
>> Solid-state disk I/O    50-150 μs  2-6 days
>> Rotational disk I/O     1-10 ms    1-12 months
Internet: SF to NYC        40 ms      4 years
Internet: SF to UK         81 ms      8 years
Internet: SF to Australia  183 ms     19 years
  • Like 3

Share this post


Link to post
Share on other sites

64 bit arhitecture of memory IS NOT silver bullet that will save performance.It will probably help a little bit but we won't notice.

I'm not saying it is. I'm saying what can they do with RAM usage and how can it benefit?

Share this post


Link to post
Share on other sites

I'm not saying it is. I'm saying what can they do with RAM usage and how can it benefit?

 

Well the RV4 is like any game engine number cruncher.And is written in C++.

Now this engine has number of atomic data types.For example int, short, long.

Int holds signed integr which is a number.Int can be defined as 32bit wide or

64bit wide on 64 bit arhitecture like intel core i7.

So more it can store the faster can it get it because it doesn't have to access

it multiple times to get same amount.

Share this post


Link to post
Share on other sites
How much can this 64bit executable help?

 

... i would say it depends ...

 

Being still a 32bit application, is limiting arma already, in multiple ways:

 

1. the well known 3 FPS 'bug' is nothing else, as a symptom of a overused (full) virtual address space (< 4096MB for 32bit process on 64bit OS).

Memory intense scenarios/mods are affected more and earlier.

 

2. the current approach, to use some physical RAM outside the 32bit address space (via file mapping API, limited to 1,7GB now) as data cache,

is responsible for the stuttering while mapping/transfering data in armas address space (stuttering while turning, zooming, etc.)

 

3. a 64bit process can hold significantly more of this data in physical RAM, directly accessible, in an practical unlimited linear address space (no mapping/unmapping and especially no/less RAM copying required).

Assuming there is enough physical RAM available (not really a limitation on todays gamer machines), i would expect a big potential for performance improvement.

 

4. before i don't see a working 64bit arma binary, i don't believe on it ;)

 

Regards

  • Like 10

Share this post


Link to post
Share on other sites

if the networkcode is also 64bit there will be a good improovment that you can see if you play online. and i also expect if the map is loaded into ram that it is up the fps.

 

but i really hope the networkcode is going to be 64bit. and such stuff like in star citizen (networkbouble) diffrent network aera in a map so walking on ships while driving could be achieved.

 

but that are hopes and guesses ;)

Share this post


Link to post
Share on other sites

dont understand this change of heart from the devs about 64-bit, first they said it was useless and now they are presenting it to us... Is it to shut up the complaining usual players demanding 64 bit for multiplayer gaming?

Share this post


Link to post
Share on other sites

if the networkcode is also 64bit there will be a good improovment that you can see if you play online. and i also expect if the map is loaded into ram that it is up the fps.

 

but i really hope the networkcode is going to be 64bit. and such stuff like in star citizen (networkbouble) diffrent network aera in a map so walking on ships while driving could be achieved.

 

but that are hopes and guesses ;)

What are you babbling about? You listen too much to devs using buzzwords. Stop expecting arma to suddenly do things it couldn't previously do just because it will address more memory. what you're talking about is related to them re-writing large parts of the engine.

  • Like 1

Share this post


Link to post
Share on other sites

dont understand this change of heart from the devs about 64-bit, first they said it was useless and now they are presenting it to us... Is it to shut up the complaining usual players demanding 64 bit for multiplayer gaming?

What change of heart? I never heard them say it's useless. More like "it wouldn't be a silver bullet to all performance problems". All I've heard they've been working on for it for at least a year or two.

  • Like 1

Share this post


Link to post
Share on other sites

Take just an example how 64 bit may do nothing to make the game better. DCS:World went 64 bit with their 1.2 version in 2013...well... the problems with the game are still there in 1.54 but now you need 16 GB RAM and 4GB video card to run it, instead of 8GB and 2 GB.

 

Frames are stil bad network is still bad and its not much prettier than before.

Share this post


Link to post
Share on other sites

Take just an example how 64 bit may do nothing to make the game better. DCS:World went 64 bit with their 1.2 version in 2013...well... the problems with the game are still there in 1.54 but now you need 16 GB RAM and 4GB video card to run it, instead of 8GB and 2 GB.

 

Frames are stil bad network is still bad and its not much prettier than before.

IL-2 BOS (CPU heavy) went from 32 to 64 bit and gain 10-15% FPS increase.

Share this post


Link to post
Share on other sites

IL-2 BOS (CPU heavy) went from 32 to 64 bit and gain 10-15% FPS increase.

And DCS got a 15 fps decrease and a giant memory leak. 64 bit alone is not a guanranteed solution for performance problem,but a good just to use up  even more system RAM.

 

in DCS server admins report that the simulation is often exceedding 32GB ram now befor a crash.

Share this post


Link to post
Share on other sites

And DCS got a 15 fps decrease and a giant memory leak. 64 bit alone is not a guanranteed solution for performance problem,but a good just to use up  even more system RAM.

 

in DCS server admins report that the simulation is often exceedding 32GB ram now befor a crash.

Hope that DEVS took that into account

Share this post


Link to post
Share on other sites

dont understand this change of heart from the devs about 64-bit, first they said it was useless and now they are presenting it to us... Is it to shut up the complaining usual players demanding 64 bit for multiplayer gaming?

I ndont think any Dev ever said it was "useless".They have been looking into it for well over a tear-all they said was it would not be a "fix all" solution.

  • Like 1

Share this post


Link to post
Share on other sites
1. the well known 3 FPS 'bug' is nothing else, as a symptom of a overused (full) virtual address space (< 4096MB for 32bit process on 64bit OS).

Memory intense scenarios/mods are affected more and earlier.

Yep, had a feeling that was the cause. I was going to post a meme about "unleashing the Kraken" for 64bit, but fred41's post is the deal.

Share this post


Link to post
Share on other sites

Do some of you really think bohemia, after all this time, would spend money creating a 64 bit executable if they didn't anticipate an actual benefit?

And, no, asking "how much" or thinking there must be some intended performance improvement (for them to invest in it in the first place) doesn't mean people think it's going to be some magical super duper sauce, either. Too many folks around here have a habit of railroading discussion by creating a strawman to argue against any time someone brings up performance (or lack thereof).

 

Personally, it's good to see them at least stating an intention to make a (potentially) more bold step with regards to performance. Though, given my impression of their track record on performance, I'll take a wait and see approach along with a lot of skepticism... peppered with a tiny amount of cautious optimism, given the very notable improvement dayZ gained when they dropped the first iteration of the renderer on that game. Though, none of that really speaks to networking issues that will likely still exist.

  • Like 2

Share this post


Link to post
Share on other sites

if the networkcode is also 64bit there will be a good improovment that you can see if you play online. and i also expect if the map is loaded into ram that it is up the fps.

 

but i really hope the networkcode is going to be 64bit. and such stuff like in star citizen (networkbouble) diffrent network aera in a map so walking on ships while driving could be achieved.

 

but that are hopes and guesses ;)

 

I have no idea where you got this from and please explain what you mean by 64-bit networkcode???

 

A3 and other  games have some type of internal network protocol which are sent/received over TCP or UDP using the TCP/IP protocol (in our case IPv4). It has nothing to do with 64-bit.

 

A TCP and UDP packet can (teoretically) be max 64 KB in size but over Ethernet the packet size is much lower. There is something called MTU (Maximum Transmission Unit) and it is typically 1400 Bytes.

 

/KC

 

  • Like 1

Share this post


Link to post
Share on other sites

Hey there,

 

I would like to clear some things up about this whole 64 bit version of arma3. I do not have acess to the arma 3 source code, but from different behavior and experienced over the last years I can tell you the following:

 

1) 64-Bit won't be a "whole in one" solution for fps drops, bad fps in general or mirco lags etc. A potencial client performace boots can only result from a load shift from the cpu to the ram. Currently I would say that 70% of the performace in arma is based on the clockspeed and effiecency of the CPU. Arma seems to calculate many many things via the cpu - things that could also be calculated from the GPU for example. But to be able to adress 32bit * 2 adresses here, wont make ANY differnece. In fact, the devs would need to reduce the amount of calculations etc and make use of all the new ram storage that they can use. Maybe this is not possible at all, as values and properties can not be stored too long, and they need to be refreshed so often, that you can calculate them each time again.

The case 64 bit can help is when the up to ~3,6 GB of ram allocated via 32 bit bottlenec your cpu's and GPU's performace. I do not know if that could happen in arma, I did not make any tests of that yet, but maybe this could be a thing.

 

 

2) So why do the devs even care about 64-bit? Well every program needs ram, to store data -> variables -> temp results for calculations -> exchange between arma and other applications like BE (or your cool new YT free 2016 hack, no survey!!!!1) - and if you can only store up to 3,6 GB of data in the ram (yes 32 bit does not take 3,6 gb by default - but there are things like "large pages") this limits your application. Also remember the application itself also takes up ram.

Having 64 GB or ram for example, gives you the opportuniy to store many many things at once, without having to free old used memory. This also means  . . . Servers can restart less often. Why is that? If you ever had a server with more that 20 players, you will most likely have noticed, that 2-3 hours after the server has started, its performace got worse and after a while the ram the application is able to use will exceed 3,6 gb and crash. If you now have XX GB of ram, you can have the server running for ever, and the only problem is, that if you have got 10000 vehicles on the server, the client calculations will be horrible again. But the server does not care about that anymore.

 

Also the download of mission files leaves memory leaks, so if you have got a XXX mb mission file, your server is gonna crash after a while. Each time he serves the mission file to the client it leaves some of the ram blocked, since the programmers kinda messed it up. #NoOffence. That + the memory needed to store where is what on the server, and have the scripts running, which take up ram too etc, is pretty bad, when you only have got 3,6 GB.

 

So to put it into a nutshell, 64 bit will result in higher limits for ingame data, which can remove its bottlenec effect on the game perferformace. Both - server and client - have a noticeable increase of performace when using custom memory allocators. Why that? Because they manage the limited ram very good. Now if we have got much more ram available, it should result int he same effect.

 

--- 

 

I repeat, I could be wrong about everything I say, but this is what i think is correct and what I think will happen. And to cleary point it out: Those of you who wrote things like 64 bit network traffic, please stop posting here. You did not try to misslead or tell lies, but some people might acutally think that things like the mentioned one have any influence, or in this case even exists. 

 

Bohemia will have plans on how to use the 64 bit and its potencial, and most likely improve arma 3 to make more sales with that (never forget BI wants to make money in the first place, thats their business). So expect things to get better or orther things to stay the same. There is no way BI can make the game worse when moving from 32 to 64 bit. (Well maybe they can, but its very unlikely ... we will see).

 

But do have high expectations, or you might be disappointed in the future.

 

 

Regards Arkensor

Share this post


Link to post
Share on other sites

Perhaps a 64-bit version of Arma3 is the perfect test-bed for 64-bit stability and optimisations in the next game engine? So by implementing a 64-bit version they hope to get a touch better performance, keep the wingers off their back, and get a free and massive beta test of that architecture aspect for their next game engine.

Share this post


Link to post
Share on other sites

If "64bit" means switching from i386 to amd64 a.k.a. x86_64 (as an architecture) and assuming most of the engine is written in C/C++, there could be also microoptimization speedups, like ie. the Apache web server had (~10%) due to the extra CPU registers available. Even though you generally waste them on bigger addresses, modern compilers are smart enough to optimize some operations (using ie. 2x eax instead of 1x rax), resulting in less memory or even cache access. Add SIMD extensions to the mix and you can get some decent (~10%) speedup, even ignoring any memory-related benefits.

It's questionable though, how well the limited compiler in MSVS (compared to llvm/clang or gcc) can do this.

Of course, it's possible that the engine has been using this for years via hand-optimized assembly or that the code is too obscure and un-optimizable (ie. type punning), so we'll have to see.

  • Like 1

Share this post


Link to post
Share on other sites

With 64bit settings I have huge FPS drop. Reversin back to 32-bit solves the problem.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×