Jump to content
Frankdatank1218

Arma 3 being upgrade to 64 bit

Recommended Posts

Each engine is tailored for the game you're making, exposing or adding features as required or heavily modifying it, like Cry Engine was for Star Citizen. Even so, "tailored from the ground up specifically for the designing of that game" is what this game/series requires it as well and what everyone was talking about for quite some time. Besides, Bohemia is using their engine in more than one game.

 

So it seems you're right that the latest engines offer much better support for multi-threaded CPUs than BIS's RV4. Several benchmarks seem to support this claim: Frostbite 3 (BF4, SW Battlefront), Cryengine (Crysis 3, Evolve) and Rage (GTAV) appear to run most quad-core CPUs at close to 100% when pushed. REDengine 3 (Witcher 3) > Snowdrop (Division) also offer good support to quad-core CPUs, though they often seem more GPU-bound rather than CPU-limited. So what's the conclusion? BIS' RV4 is an aging engine. We knew that. Are BIS doing anything to fix it? Yes. Constantly (see weekly patches to dev stream and quarterly updates to the official build) but arguably these are but bandages on an ailing patient. So it seems unlikely to see significant gains without a fresh engine. The good news is that BIS are working on a completely new engine. The bad news is that they started too late (2014?) and are now behind their competitors. But to be fair, until we see these competitors running environments as large as Arma (40x40 km?), with realistic ballistics and high player counts, I'm willing to cut Arma some slack. The fact that we're even here is because Arma offers something those other games don't.

  • Like 3

Share this post


Link to post
Share on other sites

The good news is that BIS are working on a completely new engine. 

It is not completely new, it would really make no sense at all

Share this post


Link to post
Share on other sites

I'm not entirely sure one can compare these engines to RV and its designated use. A lot of these handle a lot less (or none) and a lot simpler AI. And to me, the AI in Arma seems to be the key factor when it comes to performance. My GTX980 usually bores itself to death with a load of 30-50% in a 1440p resolution on ultra settings. Same for my Xeon processor that does not exceed 50% usage, and the RAM is filled with not more than 1.3GB at times. Regardless of that, once AI comes into the game, the framerate goes down immediately. I can understand that to some extend as the AI is, despite all its at times hillarious errors, very dynamic and very good in its (infantry-centered) job. I can only guess here, but I'm under the impression that every AI unit is simulated more or less independently.

 

I'm not sure if that is the case with the RTS posted before. I'm again only guessing, so feel free to disprove me, but the troop AI of an RTS does not necessarily have to be as advanced as the one of a milsim / tactical shooter. You often don't have any movement considerations outside of basic pathfinding, the calculations needed for an AI to make it engage a target might be less complex (if (target in range && combatMode != "HoldFire") {engage}), spotting mechanics might be simplified, damage models are less advanced, etc. And one could save some performance by using graphs to set up pre-defined paths for AI to follow. This is not possible in Arma due to the fact that every user can design its own map. Furthermore, it would be easier to cluster several AI units together (I'm thinking of Dawn of War's squad-based system here) and let one AI instance take over control of multiple units. In Arma, such approach would cause the combat to be much more foreseeable and simpler.

 

Lastly, let's assume there is an engine that does all that what RV does, but the performance is way better. Now, what would happen if BI just exchanged the engine? Not necessarily in Arma 3, but maybe in its successor. Right, the backwawrds compatibility might go to shit, at least for certain parts of the game. That means the modding community is in some cases set back to 0. Everyone would have to start from scratch in a new scripting language, new config structures, maybe new file formats for geometries, textures, code, what have you. A lot of the mod content we enjoy in Arma 3 was in fact ported from earlier titles (most of the maps, CUP, tons of classic missions). And without the mods and the user generated content, would this game be any good? I think not, and I furthermore think it would be a major strategic mistake if BI decided to move to a completely different engine, even if this hypothetical engine was superior.

 

I don't want to defend the design flaws RV certainly has, but for me, it is a simple trade off. Performance vs. complexity vs. moddability vs. backwards compatibility. And that is why I conclude that we probably won't see this game running in 120FPS with 2.000 active AI in an urban map anytime soon.

  • Like 2

Share this post


Link to post
Share on other sites

Others? Apart from AoS, do you know many other franchises out there that multi-thread well?

Everyone agrees that the RV engine is old and inefficient. Even BI publicly says so. So what's new?

They're working on a new engine, Enfusion, which should alleviate some of these bottlenecks but its proving more difficult than anticipated.

Maybe BI could visit the AoS devs and gain some insight into multi-threading Enfusion.

In the meantime, if you have a magic wand, by all means, please wave it!

Multi-thread well?

Lots of games. Crysis, Far Cry, Assassins Creed to name a few.

The other games I can think of that has singlethread problems like Arma are the Fallout series, including Skyrim.

 

If you watch the Vulkan presentation last week (was it last week?) Dan Baker, who works on the AoS engine explains that their engine is built around multi-threading from the start and that DX11 just wouldn't work like they expected for their game. Everything is a job instead of a thread. And as benchmarks show, the game scales extremely well with number of cores, up to 8 cores I think. It is a very interesting presentation.

 

Heres a link to it: http://youtu.be/xXyZ4YaktyU?t=54m1s

  • Like 1

Share this post


Link to post
Share on other sites

It would be interesting to see two benchmarks in RV engine that are the same with for example 20 AI, except other one is AI without any intelligence, so it's literally just commanded to shoot and move just like set no matter what.

 

Kind of a benchmark where you can see how much the AI calculation actually effects performance vs rendering only.

 

But I guess something like that is very hard to do (or pretty much impossible) when the AI is tied very deep in the engine.

Share this post


Link to post
Share on other sites

Are BIS doing anything to fix it? Yes. Constantly (see weekly patches to dev stream and quarterly updates to the official build) but arguably these are but bandages on an ailing patient. So it seems unlikely to see significant gains without a fresh engine. The good news is that BIS are working on a completely new engine. The bad news is that they started too late (2014?) and are now behind their competitors. But to be fair, until we see these competitors running environments as large as Arma (40x40 km?), with realistic ballistics and high player counts, I'm willing to cut Arma some slack. The fact that we're even here is because Arma offers something those other games don't.

@domokun: Considering their scale versus that of their supposed competitors and the troubles Bohemia had actually getting Arma 3 to ship, by that measure they were always going to be "too late" (could they have even afforded to get started on Enfusion without the revenue from finally getting Arma 3 to ship and DayZ to early access?).

Everyone would have to start from scratch in a new scripting language, new config structures, maybe new file formats for geometries, textures, code, what have you.

If some of what's been talked about as intended for DayZ would be applicable to a hypothetical Enfusion-powered Arma 4 then this is coming anyway, and it's hardly as if Bohemia hasn't already been grappling with the issues that come with trying to "properly fix" a game engine where the player base has gotten used to the workarounds; see the arguments over the deprecation of the 2D editor and Bohemia's continued insistence against keeping it in.

Share this post


Link to post
Share on other sites

Interesting discussion. I would love 64bit memory addressing just to bypass ram issues and believe RV engine can actually improve if they consider something like OpenCL to process the AI thread. With OpenCL, it can open up GPU accelerated thread (note it is singular in RV engine's case), and the raw processing power of OpenCL can outpace most top speed Intel CPU cores for simple and very high magnitudes of calculations.

 

I wonder if someone can actually make a simple demo importing a similar set of satellite data into CryEngine, Frostbite and AMRA 3 with similar texture, terrain and model usage, then drop the default game engine AI onto to see how it reacts and performs. Say 20, 50, 100, 200, 300 and 500 AI on AI battles.

 

Would be a really good academic way to test and compare engines with ARMA type gameplay for research.

 

A user map like Manhattan would be a good candidate.

Share this post


Link to post
Share on other sites

I'm not entirely sure one can compare these engines to RV and its designated use. A lot of these handle a lot less (or none) and a lot simpler AI. And to me, the AI in Arma seems to be the key factor when it comes to performance. My GTX980 usually bores itself to death with a load of 30-50% in a 1440p resolution on ultra settings. Same for my Xeon processor that does not exceed 50% usage, and the RAM is filled with not more than 1.3GB at times. Regardless of that, once AI comes into the game, the framerate goes down immediately. I can understand that to some extend as the AI is, despite all its at times hillarious errors, very dynamic and very good in its (infantry-centered) job. I can only guess here, but I'm under the impression that every AI unit is simulated more or less independently.

 

I'm not sure if that is the case with the RTS posted before. I'm again only guessing, so feel free to disprove me, but the troop AI of an RTS does not necessarily have to be as advanced as the one of a milsim / tactical shooter. You often don't have any movement considerations outside of basic pathfinding, the calculations needed for an AI to make it engage a target might be less complex (if (target in range && combatMode != "HoldFire") {engage}), spotting mechanics might be simplified, damage models are less advanced, etc. And one could save some performance by using graphs to set up pre-defined paths for AI to follow. This is not possible in Arma due to the fact that every user can design its own map. Furthermore, it would be easier to cluster several AI units together (I'm thinking of Dawn of War's squad-based system here) and let one AI instance take over control of multiple units. In Arma, such approach would cause the combat to be much more foreseeable and simpler.

 

Lastly, let's assume there is an engine that does all that what RV does, but the performance is way better. Now, what would happen if BI just exchanged the engine? Not necessarily in Arma 3, but maybe in its successor. Right, the backwawrds compatibility might go to shit, at least for certain parts of the game. That means the modding community is in some cases set back to 0. Everyone would have to start from scratch in a new scripting language, new config structures, maybe new file formats for geometries, textures, code, what have you. A lot of the mod content we enjoy in Arma 3 was in fact ported from earlier titles (most of the maps, CUP, tons of classic missions). And without the mods and the user generated content, would this game be any good? I think not, and I furthermore think it would be a major strategic mistake if BI decided to move to a completely different engine, even if this hypothetical engine was superior.

 

I don't want to defend the design flaws RV certainly has, but for me, it is a simple trade off. Performance vs. complexity vs. moddability vs. backwards compatibility. And that is why I conclude that we probably won't see this game running in 120FPS with 2.000 active AI in an urban map anytime soon.

 

 

You don't need 2000 AI or whatnot to cause problems for the engine. It runs bad even if you have only regular players or you're just by yourself if you increase the rendering distance and details. The problem with the engine is its failure to properly utilize the resources available and render internally stuff you don't see. Personally I would very much like a steady 60fps experience with vanilla assets and slowly have the other mods ported to a new engine than to keep this one going. I pretty much give up after a few hours every time I get the urge to play some ArmA.

 

It would be interesting to see two benchmarks in RV engine that are the same with for example 20 AI, except other one is AI without any intelligence, so it's literally just commanded to shoot and move just like set no matter what.

 

Kind of a benchmark where you can see how much the AI calculation actually effects performance vs rendering only.

 

But I guess something like that is very hard to do (or pretty much impossible) when the AI is tied very deep in the engine.

 

Why not build your own benchmark? Get in the editor, throw in some squads in Kavala, set way points, set them to battle eachother, etc. You don't need many, about 3-4 10 men squads are enough to bring the frame rate down.

Share this post


Link to post
Share on other sites

I believe it to be a misconception that AI *causes* performance issues in Arma. Performance issues are just exacerbated by the introduction of AI b/c it has to wait in line like everything else. The Arma series outgrew its engine long ago. The average person has plenty of CPU power in reserve, but the engine can't make use of it... And, moving to DX12 (or Vulcan) won't solve those problems unless they make the low-level changes to the engine that would be needed to achieve the performance gains that dx12 and/or vulcan could offer... which, they almost definitely will not. And, they will either make dx12 "work" (b/c ceo said when, not if) but not with the work behind it to benefit performance... or they won't bother and will just say they didn't get the performance improvement so it wasn't worth it (b/c they won't be willing to do the engine work necessary for RV).

 

I would be pleasantly surprised if proven wrong.

Share this post


Link to post
Share on other sites

I believe it to be a misconception that AI *causes* performance issues in Arma. Performance issues are just exacerbated by the introduction of AI b/c it has to wait in line like everything else. The Arma series outgrew its engine long ago. The average person has plenty of CPU power in reserve, but the engine can't make use of it... And, moving to DX12 (or Vulcan) won't solve those problems unless they make the low-level changes to the engine that would be needed to achieve the performance gains that dx12 and/or vulcan could offer... which, they almost definitely will not. And, they will either make dx12 "work" (b/c ceo said when, not if) but not with the work behind it to benefit performance... or they won't bother and will just say they didn't get the performance improvement so it wasn't worth it (b/c they won't be willing to do the engine work necessary for RV).

 

I would be pleasantly surprised if proven wrong.

 

I agree.One of the posters mentioned cry engine tailored for star citizen and they are heavy modifying code behind it.In fact one of the things is directX - you can change

couple of API calls and call it "this game supports dx12" but performance will be minimal as we can see from many games boasting with DX12 but those weren't built

on new technology from ground up.In order to fully utilize you have to change low level code, the way I see it the infrastructure that supports all systems.

 

“It's pretty easy [to integrate Dx12] if you do it the same way you did with Dx11, but you're not going to get the full power. The issue is that most game engines were not really written with a massively parallel architecture in mind, and that's fundamentally what you need to do to really get the best benefit out of the next-generation of graphics APIs. [That nex generation] is just that you can be feeding lots of stuff at the same time to the graphics card and you're not bottlenecked by just one thread.

-Chris Roberts

And all that goes hand to hand with tweet (I forgot from which BI developer) stating

that directX12 has been in RnD and so far yielded no significant performance boost.

Share this post


Link to post
Share on other sites

I believe Dwarden said in the past that they are only looking into it on server side, with no immediate plans for a 64 bit client.

 

--

 

@en3x yes. I actually watched a pretty interesting series of vids last night with Chris Roberts talking about how much of cry engine they've re-purposed, and what the foundational changes they are going back and making in order to (he claims) give full and proper support to new tech

 


 

Share this post


Link to post
Share on other sites

Cheers for videos.

 

I have found the tweet

 

 

@lukas_hartl Hi Lukas. Better performance is what we'll continue to work on, but a low-level engine overhaul is not feasible for A3.

Source: https://twitter.com/arma3official/status/629192111439527936

 

I think this is from one of their own sitreps

 

All of these changes are unrelated to our investigation into DirectX 12 by the way. This has not yet yielded useful results, so we don't have any concrete news on that front

 

Yet directX12 needs properly refactured and parallelized arhitecture.

 

I wonder what is going with directX12.

Share this post


Link to post
Share on other sites

My CPU is fine. It's an i7 clocked to 4.0 Ghz. It just dips alot, there is no rig on earth that can reliably crank Arma 3 at 60fps in busy urban battles, I made a benchmark mission with about 50 units in Kavala, it never goes above 45 fps, it is usually in the 30's, until the battle ends and the AI isn't doing much thinking anymore.

Why? 

Because the game barely uses other cores and the main core is where all the AI calculation goes, so my much stronger CPU works much worse than it could. 

 

I never said your CPU needs replacing. Yes, I did say the source of the low FPS is the CPU, as in the game is CPU-bound. I then said that the game needs to be optimized to address this fact.

Share this post


Link to post
Share on other sites

Holy crap 2016 and we are still saying the game needs optimisation huh? Am I missing something here?

I thought ArmA 3 Beta was the mass optimisation stage?

Share this post


Link to post
Share on other sites

:/ why bring this up again when its been explained so many times?

 

The engine is 16 years old. Most of the code that was there back in the early 2000's cannot be changed now without breaking every little thing that relies on it to work in that specific manner. You can't take out the first floor of an office building and expect everything above it to  be fine and dandy.

 

Paralellization of complex tasks is difficult to do depending on what your doing. If you need to multiply 3x2x4 , you can split that up across all cores of the cpu because with this equation, it does not matter what order the numbers are multiplied in, the result is the same anyways. Different cores will finish their part of the task at different times, and making it wait for the others to finish is not easy to do. 

  • Like 1

Share this post


Link to post
Share on other sites

What you guys talk about is a theorie in computer science called Speedup. You can calculate the factor X which represents how much fast a programm can get, in relation to how many cpu cores you have.

It also tells us that a speedup can only happen in parts of the programm which can be run parallel. Parts that are serial can not be made faster whith more cores.

I not know thr arma sourcr code, but even if they could run some things parallel, that wont get too much fps out for us.

Because the frames are something serial, you can not render this and what happens next at the same time.

Changing to 64 bit would require different libraries, which differ from those 32 bit legacy support builds they use now.

By fact, they are required to rewrite a whole lot of arma, which would throw the development process years apart.

The, already tested a 64 bit conversation, and the results did not fit the time spend for it.

They could use 64 bit for arma 4, but I think they wont.

Arma 3 is a finished game! That they even produce a visual upgrade for us is a wonder. Don't expect something to happen anymore.

Share this post


Link to post
Share on other sites
Guest

Some people just respect who gives food for idiots to then. If you don't do that, they will remember you what they are.

 

I talk about my personal because this is the best i do:

- Multicore is to run many single threaded aplications at the same time (Office productivity).

- The idea that everything that you run can be splited into n cores never was real in the world of computers and is far from be real.

- What you can say about a game that pull all the cores to 100% other than its pull all the cores to 100%?

Share this post


Link to post
Share on other sites

- Multicore is to run many single threaded aplications at the same time (Office productivity).

- The idea that everything that you run can be splited into n cores never was real in the world of computers and is far from be real.

- What you can say about a game that pull all the cores to 100% other than its pull all the cores to 100%?

Uhm, sorry if I disagree.

Of course you are right saying that not everything can automatically make use of multiple cores. However, the notion that multicore CPUs main purpose is to run multiple Office applications at the same time is ridiculous. Any application that runs multithreaded can make use of multiple cores.

Yes, not everything can make use of parallel processing. However, games are a good example of something that usually can be parallelized. For example, rendering, user interaction and simulation can happen on different cores (Quake III had experimented with this separation as one of the earliest examples).

If there are no data dependencies, you can distribute any numer of AI computations among any number of cores. Sure, at one point you will get diminishing returns and the communications overhead will kill any performance you have gained, but we aren't talking massive parallel, we are talking about quad core, maybe octacore plus threading maybe.

Sorry for the offtopic post, but I couldn't let this stand

Sent from my SGP511 using Tapatalk

Share this post


Link to post
Share on other sites
Guest

Yes, for sure.

 

Again, my personal, use of multicore is done breaking the aplication in many isolated parts, so its like to be running many different single threaded programs at the same time (what happens in Office productivity).

 

--//--

 

Supercomputers have thousands processor with many cores each, if the program is single threaded, no supercomputer.

So i believe some things are not suitable to run on super computers... if not, everything can be breake in thousands tasks with the matter of know how to do that.

Share this post


Link to post
Share on other sites

One or a few things will have to happen here with Arma. If Arma 4 is not 64bit then it best become GPU dependent instead of relying on the CPU. Right now BIS is so far behind they are stuck in Dino-land for some reason. To be honest I think they are the ONLY and the LAST gaming company still in 32 bit land while everybody else as advanced to 64 bit. Yes BIS may have to invest or write a new game engine or rewrite the current one but you know what that is what advancing means. If they don't they best tweak the current engine so it will take advantage of the GPU because right now GPUs are worthless with this game!!!

  • Like 1

Share this post


Link to post
Share on other sites

One or a few things will have to happen here with Arma. If Arma 4 is not 64bit then it best become GPU dependent instead of relying on the CPU. Right now BIS is so far behind they are stuck in Dino-land for some reason. To be honest I think they are the ONLY and the LAST gaming company still in 32 bit land while everybody else as advanced to 64 bit. Yes BIS may have to invest or write a new game engine or rewrite the current one but you know what that is what advancing means. If they don't they best tweak the current engine so it will take advantage of the GPU because right now GPUs are worthless with this game!!!

I assume you haven't see the Road Map announced for 2016 - 2017? - https://arma3.com/news/arma-3-roadmap-2016-17#.WAvenuArKUl 

 

64bit exes are mentioned:

 

 

 

To provide a few examples: later this year, we'll publish 64-bit executables to Dev-Branch; work on a full singleplayer conversion of the 'Apex Protocol' co-op campaign starts soon; Tanoa structures will gradually receive additional ruins / interiors - and its splendid audio fidelity will be extended to all terrains. Naturally,we’ll discuss these things (and more!) in greater detail soonâ„¢.
  • Like 1

Share this post


Link to post
Share on other sites

Good luck with that 64-bit change making much of a difference. It`s not a magic bullet. It will ease a little pain for some, but it will not advance, fix, or otherwise sprinkle magic rainbow fairy dust on what we have atm.

 

Plenty may see an easing of resources. Others may see a bit less hitching and faster loading in of textures. Some anal types spending more time looking at stats than actually playing may see something positive, but just shifting "to 64-bit" is not "the shit". It`s an improvement, no doubt, but it is not the huge change many will perhaps expect from such a thing.

 

The current engine is what it is. Don`t go nuts expecting something massively different, when it happens, it`s nothing less than "an easing". Nothing more.

 

It will still be very welcome though, given what we have right now.

Share this post


Link to post
Share on other sites

if the networkcode is also 64bit there will be a good improvment 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

Holy crap 2016 and we are still saying the game needs optimisation huh? Am I missing something here?

I thought ArmA 3 Beta was the mass optimisation stage?

 

Well game engines are made out of layers of systems.Low level systems are closer to hardware and those

are really outdated with single threaded architecture. Not only that but all systems are connected. Make changes

to collision, and physX needs additional work too for example. As we can see major changes in engine are done before

release when no one is playing game.So if programmers and engineers don't foresee future tech and start

refactoring low level systems to fully utilize future tech you get where Arma is atm.

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

×