Jump to content
dna_uk

DirecxtX 12 for ArmA 3?

Recommended Posts

Did some testing. When you hit escape, the simulation pauses, but the render still works, so we can do some testing ....

So if they move to DX 12 and they rewrite the draw calls to use it as much as possible, but they didin't change the simulation logic, we would have better graphics but still low fps due to the simulation bottleneck(in your example eg. 57FPS and not 36FPS)? Does it mean that we would be able to enjoy the beauty on the same FPS as now?

Edit: And if we reduce the graphical settings, the CPU will have more time to do the simulation things, but this is not as much as we can get from the simulation refactoring?

Edited by danczer

Share this post


Link to post
Share on other sites

Is the simulation reason why Arma 3 draw calls are low, so there's so much stuff in that one thread that there can't be any more draw calls? And in that way when currently there's "2k draw calls there could be like 2k draw calls per CPU thread" to put it simply.

At least I've a feeling that DX12 could just give opportunity for nicer graphics with the same fps in Arma 3 and the same old low fps continues when big engine change isn's done. Just like Arma 3 has nicer graphics than Arma 2 but the bottleneck is still the same in both games.

Share this post


Link to post
Share on other sites
The light doesn't go through the objects because it is broken, but because deferred lighting is not implemented. There is no engine out there that can handle an infinite number of shadow casting light sources.

Again, i find that it is unrealistic to expect more out of this engine without real impacts on FPS. DX12 does not solve the draw calls limitations.

Understand that the engine's main issue is how it handles 2 things:

1. AI cpu cycles

2. Data access - models but more especially textures (directly, without buffering those correctly).

edit - yes, arma has object spaced culling

Fixing and unlimited is more of metaphor, but the current limitation in terms of light source and shadows comes from the API if we were to believe the developers.

http://www.littletinyfrogs.com/article/460524/DirectX_11_vs_DirectX_12_oversimplified

Now, if ArmA indeed has object spaced culling, what is that tech doing? Why we get a serious performance hit while actually having little to render on screen? Wouldn't be logic to have performance issue when you'll try to display a large area of the map with lots of individual stuff on it?

If Arma had the graphics "weight" of GTA V, would be unplayable. :)

If you use a small number of AIs and/or players, it's mostly fine - more so on Stratis. However for me almost every ArmA fight/campaign/mission/MP mode feels just like GTA would feel if it were to be just yourself on the map and the people you need to kill/pursue - shallow and unrealistic (not that a GTA game has that many NPC to actually simulate real city, only AC: Unity managed that, but it does a good enough job).

So if they move to DX 12 and they rewrite the draw calls to use it as much as possible, but they didin't change the simulation logic, we would have better graphics but still low fps due to the simulation bottleneck(in your example eg. 57FPS and not 36FPS)? Does it mean that we would be able to enjoy the beauty on the same FPS as now?

Edit: And if we reduce the graphical settings, the CPU will have more time to do the simulation things, but this is not as much as we can get from the simulation refactoring?

It's just speculation because it depends on how much work is actually put into this upgrade and how much other bottlenecks will influence this.

Is the simulation reason why Arma 3 draw calls are low, so there's so much stuff in that one thread that there can't be any more draw calls? And in that way when currently there's "2k draw calls there could be like 2k draw calls per CPU thread" to put it simply.

At least I've a feeling that DX12 could just give opportunity for nicer graphics with the same fps in Arma 3 and the same old low fps continues when big engine change isn's done. Just like Arma 3 has nicer graphics than Arma 2 but the bottleneck is still the same in both games.

Yup, this kind of improvement will only take you so far. Others needs to follow... in ArmA 4. :p

Edited by calin_banc

Share this post


Link to post
Share on other sites
Fixing and unlimited is more of metaphor, but the current limitation in terms of light source and shadows comes from the API if we were to believe the developers.

ahhh, no. It has nothing to do with the API. afaik, deferred shading is possible in RV4 (and afaik, there has been some tryout already)

Share this post


Link to post
Share on other sites

Yes I think there was some talk of it by Dayz team but nothing confirmed as far as I can tell.

Share this post


Link to post
Share on other sites

I dont think DX12 will solve anything with Arma.

Do you know any other game (32 bit) using 4 GB of system memory (RAM) running on a single screen? I dont know.

Take a look at pic, with 3 GPUs in triple CrossfireX with only Steam and Arma 3 running, the system ram usage was around 1.1 GB.

http://i.imgur.com/C11j5V6.jpg

This was with all settings in Ultra with a 3000 view distance and the funny thing is if we increase view distance become obvious that it needs even more RAM and since is a 32 bit app it cant, at this point the game engine starts to struggle and the outcome is a lousy performance.

Such thing in a 32 bit app almost it seems memory leak.

Do you think DX12 will give a solution for this?

Share this post


Link to post
Share on other sites
I dont think DX12 will solve anything with Arma.

Do you know any other game (32 bit) using 4 GB of system memory (RAM) running on a single screen? I dont know.

Take a look at pic, with 3 GPUs in triple CrossfireX with only Steam and Arma 3 running, the system ram usage was around 1.1 GB.

http://i.imgur.com/C11j5V6.jpg

This was with all settings in Ultra with a 3000 view distance and the funny thing is if we increase view distance become obvious that it needs even more RAM and since is a 32 bit app it cant, at this point the game engine starts to struggle and the outcome is a lousy performance.

Such thing in a 32 bit app almost it seems memory leak.

Do you think DX12 will give a solution for this?

I don't see any reason to RAM usage rise. Arma is 32-bit so ~2GB is the limit. Also move around with helo or camera for 5-10mins and see RAM usage for Arma 3 to rise bit above 2GB.

Share this post


Link to post
Share on other sites

no LAA = 2 GB for 32bit process

LAA = 4GB for 32bit process on 64bit OS

next is 64bit process where OS limit is applied for allocations

Share this post


Link to post
Share on other sites
I don't see any reason to RAM usage rise. Arma is 32-bit so ~2GB is the limit. Also move around with helo or camera for 5-10mins and see RAM usage for Arma 3 to rise bit above 2GB.

Yes, that was in editor without AI and basically stopped, if we move around on a heli the engine easily hits the redline in matters of RAM usage. And we dont need to have any setting on Ultra.

It is mainly related with textures load, any setting above high it makes RAM jump to insane values, even with all settings in Standard if we put textures on Very High or Ultra RAM usage just blows, when we have GPU that can afford all the load.

Also the LOD transition (which is pretty aggressive) requires a considerable amount of RAM and after reaching the limit there is no way to make it smooth.

This leads me to my initial argument, Arma 3 would be much better with DX9 and is not because I like it more, is because that's what fits better with Arma 3 engine.

People claim for better multicore support and is true it needs better but is mainly because AI and not because graphics. Graphics are already above from what an 32 bit app can afford.

That's why I cant figure the benefits of DX12 in a concept like Arma.

Share this post


Link to post
Share on other sites
Yes, that was in editor without AI and basically stopped, if we move around on a heli the engine easily hits the redline in matters of RAM usage. And we dont need to have any setting on Ultra.

It is mainly related with textures load, any setting above high it makes RAM jump to insane values, even with all settings in Standard if we put textures on Very High or Ultra RAM usage just blows, when we have GPU that can afford all the load.

Also the LOD transition (which is pretty aggressive) requires a considerable amount of RAM and after reaching the limit there is no way to make it smooth.

This leads me to my initial argument, Arma 3 would be much better with DX9 and is not because I like it more, is because that's what fits better with Arma 3 engine.

People claim for better multicore support and is true it needs better but is mainly because AI and not because graphics. Graphics are already above from what an 32 bit app can afford.

That's why I cant figure the benefits of DX12 in a concept like Arma.

How can the old and obsolete DX9 be of any improvement over the much more modern DX11? Explain yourself.

Share this post


Link to post
Share on other sites

As has been said a hundred time before: New iterations of DirectX generally improve performance, but this is negated by the increase in detail.

grand-theft-auto-v-directx-performance-640px.png

Share this post


Link to post
Share on other sites

At this point I don't even care about whatever DX, I would be happy if the -maxMem= parameter actually worked instead of being a placebo, with triple crossfire is not possible to play the game. RAM usage (no matter what graphics settings) hits the engine redline (in Altis is a matter of seconds) and the game becomes unplayable. I am starting to believe that Arma 3 has some huge memory leaks.

Share this post


Link to post
Share on other sites
As has been said a hundred time before: New iterations of DirectX generally improve performance, but this is negated by the increase in detail.

http://international.download.nvidia.com/geforce-com/international/images/grand-theft-auto-v/grand-theft-auto-v-directx-performance-640px.png

Only if you use DX11 specific features, then no shit Sherlock, the performance is going to be lower in comparison to older API versions.

Arma 3 doesn't use any specific DX11 visual features it seems (like tessellation), so having Arma 3 on DX9 would be nothing but a downgrade.

Share this post


Link to post
Share on other sites

There's more to DX11 than just tesselation.

Some examples: SSAO(Screen space ambient occlusion), HDAO, improved Post-Processing. All of these are supported in Arma3. ;)

Edit: Then there's all the DX10 stuff, but I'm not sure how much of that is implemented in Arma3.

Edited by Brisse

Share this post


Link to post
Share on other sites
There's more to DX11 than just tesselation.

Some examples: SSAO(Screen space ambient occlusion), HDAO, improved Post-Processing. All of these are supported in Arma3. ;)

Edit: Then there's all the DX10 stuff, but I'm not sure how much of that is implemented in Arma3.

SSAO is not limited to DX11 and is not even used. "Improved post-processing" is vague as fuck, and basically all PP effects and HDAO can be turned off. So your argument that DX9 is a better idea has no point.

Share this post


Link to post
Share on other sites
SSAO is not limited to DX11 and is not even used. "Improved post-processing" is vague as fuck, and basically all PP effects and HDAO can be turned off. So your argument that DX9 is a better idea has no point.

No, you got the wrong person, or maybe you misunderstood. I'm not the one saying DX9 is better. It's the opposite in fact. I'm trying to debunk that myth.

Share this post


Link to post
Share on other sites
No, you got the wrong person, or maybe you misunderstood. I'm not the one saying DX9 is better. It's the opposite in fact. I'm trying to debunk that myth.

Brisse, Bratwurste, the names are vaguely similiar :rolleyes:

Share this post


Link to post
Share on other sites

DX11 demands less hardware when compared with DX9.

Hilarious.

I bet you are a Development Branch user.

Share this post


Link to post
Share on other sites

I'm sorry, could you clarify that post please? Sadly, it's incomprehensible.

DX11 demands less hardware when compared with DX9.

Is this supposed to be a question, or a statement?

Hilarious.

I'm sorry, but what part of this discussion is hilarious?

I bet you are a Development Branch user.

Who is the subject here? Me, or FrankHH?

If it's me, then let me answer: I am not currently on dev-branch, but I have spent a lot of time there in the past. I have created constructive feedback which I have forwarded to the developers, and they have answered most of those calls. Thanks to me, you have a better Arma3-experience than what you would have had if I had not sent that feedback. You should thank me, instead of making rude comments. And don't even get me started on the mods I have contributed to. I bet you use at least one of them, without even knowing it.

Share this post


Link to post
Share on other sites
I don't see any reason to RAM usage rise. Arma is 32-bit so ~2GB is the limit. Also move around with helo or camera for 5-10mins and see RAM usage for Arma 3 to rise bit above 2GB.

Check commit charge combined with process specific usage before, during and after you run the game. I've seen it easily hit 8gb+.

Share this post


Link to post
Share on other sites

I think I have solved this.

I turned off superfetch (prefetch) and now the game load around 3.5 gb and system around 1.1

Since prefetch is like a cache to where windows loads unused RAM with files that we use often so these programs can launch quicker and the game was loading a insane amount of RAM with it enabled, I am even more convinced that there is memory leak.

Not sure yet, need to play a bit more, I only played about one hour after disabling it.

Share this post


Link to post
Share on other sites

arma cant use more than 2GB ram its the engine limit..the game itself wants to use more thats why the pagefile usage is really high

Share this post


Link to post
Share on other sites
arma cant use more than 2GB ram its the engine limit..the game itself wants to use more thats why the pagefile usage is really high

It uses file mapping to store data, it uses more than 2GB easily. It's not even pagefile usage as you can monitor that. It's simply commit charge which is literally all RAM in use both virtual and physical irregardless of process. Being able to map within the process work space would be way more efficient though.

Share this post


Link to post
Share on other sites

Dont think there is 2GB RAM limit with engine, since arma3.exe alone uses more than 2GB.

Wondering what benefits DX12 will bring in matters of memory management.

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

×