Jump to content
dna_uk

DirecxtX 12 for ArmA 3?

Recommended Posts

If they decide to rewrite those lower engine code.You know you can implement DX12 in your game like Just Cause 3 and then post on social medias:

(thanks to DX12 such as Ordered Independent Transparency, and G-buffer blending using Raster Ordered Views and light assignment for clustered shading using Conservative Rasterization.)

but it will still lag all over the place because it is not fully rewritten for dx that bring new options.I can tell you about performance issues first hand.

 

Funny to think for example according to Roberts you can change couple of

API calls and call it dx12, advertise it, yet gain very small performance improvements Unless you fully utilize all new options available.

 

Which means I should go hype if bohemians announce they will

do some work on low level in engine work, refactoring data, organizing data to run parallel.

 

So

 

DX12 !=* better performance

 

low level in engine work, refactoring data, organizing data to run parallel (with dx12) = better performance

 

*=! means not equal

Share this post


Link to post
Share on other sites

Which means I should go hype if bohemians announce they will

do some work on low level in engine work

Not happening:

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

Share this post


Link to post
Share on other sites

Good point Chortles.Which brings interesting question up - why then implement dx12 if it will not bring

big improvement with it?

 

So is it right on what I'm seeing is people expecting DX12 implementation bringing big improvement,

while realistic dx12 alone does not help with performance on big scale because it would require

low level engine rewrite which is not feasible from developer tweet perspective.

Share this post


Link to post
Share on other sites

Try to set in windows sound quality for 16 bits 44100 Hz (as temponrary).

About the sound.

I've tried something different, exactly the same environment but all the AI without ammunition, means no explosions or firing sounds, only AI running around.

The outcome, still a performance drop, from 60 to 33 fps.

In previous video performance went from 60 to 24fps, but I believe the difference is because in this circumstance there are no explosion effects and/or smoke and not because sound.

My question remains, is the performance drop, when looking at AI, related with graphics or cpu?

The vídeo about the above related.

https://www.youtube.com/watch?v=Mn_a-BhaHt8

Share this post


Link to post
Share on other sites

About the only reason I could see BI adding DX12 is if they want to force everyone in their player base to switch to Windows 10 to make their player base uniform. Even MicroShaft is forcing people to use Windows 10. The next gen Intel and AMD chips will only be supported on Windows 10. Not 7 or 8 or 8.1. Only on Windows 10 will you be able to use an AMD Zen architecture chip or Whatever Intel's next arch will be. Talk about forcing people. Thankfully, the Linux/Mac/BSD community will have unfettered access to those chips. And, Vulkan will give those OSes a serious boost in gaming. If I wanted an Xbox experience, I would buy an Xbone. If I wanted to sell my metadata to Microsoft, I would move to 10. But, I don't.

  • Like 2

Share this post


Link to post
Share on other sites

About the only reason I could see BI adding DX12 is if they want to force everyone in their player base to switch to Windows 10 to make their player base uniform. Even MicroShaft is forcing people to use Windows 10. The next gen Intel and AMD chips will only be supported on Windows 10. Not 7 or 8 or 8.1. Only on Windows 10 will you be able to use an AMD Zen architecture chip or Whatever Intel's next arch will be. Talk about forcing people. Thankfully, the Linux/Mac/BSD community will have unfettered access to those chips. And, Vulkan will give those OSes a serious boost in gaming. If I wanted an Xbox experience, I would buy an Xbone. If I wanted to sell my metadata to Microsoft, I would move to 10. But, I don't.

 

that makes no sense. why would that be advantageous for BIS to force users to move to m10 from a business point of view? dont think they will.

 

MS is different of course,  and I'd honestly move fully to linux in a second if the programs and games i play were there.

Share this post


Link to post
Share on other sites

that makes no sense. why would that be advantageous for BIS to force users to move to m10 from a business point of view? dont think they will.

 

MS is different of course,  and I'd honestly move fully to linux in a second if the programs and games i play were there.

because, when they are making a game that is going to work correctly, it is vastly easier on them if they don't have to troubleshoot across 3 versions of Windows. If the windows client only has to work correctly on one Windows version, it is vastly easier for them development wise. I almost wish they would decide that the next Arma would be a Linux first game ^_^. It would most likely work if Micro$hart shows its true colors (trying to making Windows gamers into XBone gamers through osmosis).

  • Like 1

Share this post


Link to post
Share on other sites

because, when they are making a game that is going to work correctly, it is vastly easier on them if they don't have to troubleshoot across 3 versions of Windows.

Swap "Steam" for Windows and you have one of the explicitly-stated reasons that Bohemia went Steamworks for Arma 3.

Share this post


Link to post
Share on other sites

Swap "Steam" for Windows and you have one of the explicitly-stated reasons that Bohemia went Steamworks for Arma 3.

Probably one reason it works so well under Linux. Linux also has Steamworks.

  • Like 1

Share this post


Link to post
Share on other sites

About the sound.

I've tried something different, exactly the same environment but all the AI without ammunition, means no explosions or firing sounds, only AI running around.

The outcome, still a performance drop, from 60 to 33 fps.

In previous video performance went from 60 to 24fps, but I believe the difference is because in this circumstance there are no explosion effects and/or smoke and not because sound.

My question remains, is the performance drop, when looking at AI, related with graphics or cpu?

The vídeo about the above related.

https://www.youtube.com/watch?v=Mn_a-BhaHt8

+ you don't have the physics (trajectories) calculated for each projectile and probably no extra AI routines (I.e. suppression). Perhaps all of them add up.

Share this post


Link to post
Share on other sites

Probably one reason it works so well under Linux. Linux also has Steamworks.

My Steam reference was more about where Bohemia's priorities were, although I wouldn't be surprised if the attitude (prioritizing ease of development for themselves) still remains, i.e. explicitly stating that having only to deal with one set of data instead of two was part of the reason for their DLC strategy instead of resuming Lite.

Share this post


Link to post
Share on other sites

+ you don't have the physics (trajectories) calculated for each projectile and probably no extra AI routines (I.e. suppression). Perhaps all of them add up.

You mean CPU calculations? I don't think so.

In my opinion the performance drop with AI is purely related with graphics.

I made a video with 8 vehicles, no explosions, no firefight,  just passing by and soon they start to appear the performance starts to drop, at close range we lose more than 20 fps, soon they pass performance goes back to normal.

Btw, I am using vehicles to make the video shorter, but if we place foot units the outcome is the same.

Take a look.

https://www.youtube.com/watch?v=wRXkf7otfTI

My question remains, DX12 will fix this?

Share this post


Link to post
Share on other sites

You mean CPU calculations? I don't think so.

In my opinion the performance drop with AI is purely related with graphics.

I made a video with 8 vehicles, no explosions, no firefight,  just passing by and soon they start to appear the performance starts to drop, at close range we lose more than 20 fps, soon they pass performance goes back to normal.

Btw, I am using vehicles to make the video shorter, but if we place foot units the outcome is the same.

Take a look.

https://www.youtube.com/watch?v=wRXkf7otfTI

My question remains, DX12 will fix this?

from what I recall, the GPU is being bottle-necked by the CPU. normally in Arma the CPU is thrashing 1 or 2 cores and the GPU is underutilized due to the CPU not being efficient.

DX12 and Vulkan APIs fix the CPU efficiency and utilization by taking processes and spreading them evenly across all cores and all threads which in turn boosts the GPU utilization and efficiency quite a bit. I have seen this in the Vulkan API demos by Nvidia, Intel, and Khronos group. they show the difference between OpenGL and Vulkan where OpenGL (like DX11) bottleneck on the CPU side due to poor CPU multi-threading and efficiency. This shows on the graphs that show. You will see a quad core cpu in the demos where OpenGL is pegging on 2 of 4 cores and the GPU is barely being used. When they switch to the Vulkan API, the CPU is spread evenly across all 4 cores and the GPU is used quite heavily. You also notice the FPS jump a huge amount because of the efficiency introduced by the low-level APIs of Vulkan and Dx12. I ahve said before and will say again, DX12 and Vulkan are essentially identical except in how they approach the task and the name as well as who backs it. Because of this, changing from DX12 ro Vulkan should be relatively simple. Especially since going from Dx11 to DX12 is not a walk in the park. DX11 and DX12 are fundamentally different even though they are both iterations of DirectX. For Vulkan, all they need to worry about adding is the SPIR-V code. SPIR-V converts all the data into the language used by Vulkan. the devs of a game or program only need learn the SPIR-V intermediary language. You can throw openGL and directX code at SPIR-V and it will translate that to Vulkan. It is brilliant really. Think about it, Nvidia, AMD, and Intel are fucking raving about how amazing Vulkan is. You don't really hear that much about the power and awesomeness of DX12 outside of gaming. Nvidia had an entire presentation during their Dev convention where they showed off Vulkan in a professional setting where they were rendering 3D models in real time and it was amazing. If you think about it, it makes sense that industry giants are making waves about Vulkan since it is the replacement for OpenGL for all intents and purposes. Most of the software uses some form of OpenGL already for rendering since OpenGL is an industry standard API. there are other variants being used on different platforms like android which uses OpenGL-ES. Then there is the alternative to CUDA known as OpenCL.

 

Here is the Nvidia Developers Blog about Vulkan that was posted 3 days ago.

https://developer.nvidia.com/engaging-voyage-vulkan

 

This is a link to the Vulkan tutorial site which provides a lot of easy to read information on how the API works:

http://vulkan-tutorial.com/

 

Here is the PDF of the presentation Nvidia did at SIGGRAPH 2015:

http://on-demand.gputechconf.com/siggraph/2015/presentation/SIG1501-Piers-Daniell.pdf

 

Here is a handy intro to Vulkan from a devs' point of view:

http://www.toptal.com/api-developers/a-brief-overview-of-vulkan-api

 

hope that helps explain both the benefits of DX12 and Vulkan APIs since they are similar in nature.

Share this post


Link to post
Share on other sites

from what I recall, the GPU is being bottle-necked by the CPU. normally in Arma the CPU is thrashing 1 or 2 cores and the GPU is underutilized due to the CPU not being efficient.

He's right.

 

DX12 and Vulkan APIs fix the CPU efficiency and utilization by taking processes and spreading them evenly across all cores and all threads which in turn boosts the GPU utilization and efficiency quite a bit. I have seen this in the Vulkan API demos by Nvidia, Intel, and Khronos group.

One important thing we should keep in mind is that DX12 and Vulkan API don't FIX cpu efficiency - it merely opens options to do that.Developer/programmer actually has to fix cpu utilization

and parallel computing in lower level engine.

  • Like 2

Share this post


Link to post
Share on other sites

Well @bratwurste, it is very strange. Your FPS is still great and bigger than mine (on my pc it drops to 20, sometimes even 15). The most strange is the distant of vehicles when FPS hits the most. Again i think its engine related, texture or objects detail. Are you suing any mods while doing this test? ACE 3 may load functions on each of thos vehicles when they getting close. I'm just guessing, its similar on my PC.

Share this post


Link to post
Share on other sites

He's right.

 

One important thing we should keep in mind is that DX12 and Vulkan API don't FIX cpu efficiency - it merely opens options to do that.Developer/programmer actually has to fix cpu utilization

and parallel computing in lower level engine.

They already stated they will not do this.

 

@arma3official said

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

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

 

I guess it can be fix by rewriting whole engine in Arma 4 developing process. I knew it.......

Share this post


Link to post
Share on other sites

from what I recall, the GPU is being bottle-necked by the CPU. normally in Arma the CPU is thrashing 1 or 2 cores and the GPU is underutilized due to the CPU not being efficient.

DX12 and Vulkan APIs fix the CPU efficiency and utilization by taking processes and spreading them evenly across all cores and all threads which in turn boosts the GPU utilization and efficiency quite a bit. I have seen this in the Vulkan API demos by Nvidia, Intel, and Khronos group. they show the difference between OpenGL and Vulkan where OpenGL (like DX11) bottleneck on the CPU side due to poor CPU multi-threading and efficiency. This shows on the graphs that show. You will see a quad core cpu in the demos where OpenGL is pegging on 2 of 4 cores and the GPU is barely being used. When they switch to the Vulkan API, the CPU is spread evenly across all 4 cores and the GPU is used quite heavily. You also notice the FPS jump a huge amount because of the efficiency introduced by the low-level APIs of Vulkan and Dx12. I ahve said before and will say again, DX12 and Vulkan are essentially identical except in how they approach the task and the name as well as who backs it. Because of this, changing from DX12 ro Vulkan should be relatively simple. Especially since going from Dx11 to DX12 is not a walk in the park. DX11 and DX12 are fundamentally different even though they are both iterations of DirectX. For Vulkan, all they need to worry about adding is the SPIR-V code. SPIR-V converts all the data into the language used by Vulkan. the devs of a game or program only need learn the SPIR-V intermediary language. You can throw openGL and directX code at SPIR-V and it will translate that to Vulkan. It is brilliant really. Think about it, Nvidia, AMD, and Intel are fucking raving about how amazing Vulkan is. You don't really hear that much about the power and awesomeness of DX12 outside of gaming. Nvidia had an entire presentation during their Dev convention where they showed off Vulkan in a professional setting where they were rendering 3D models in real time and it was amazing. If you think about it, it makes sense that industry giants are making waves about Vulkan since it is the replacement for OpenGL for all intents and purposes. Most of the software uses some form of OpenGL already for rendering since OpenGL is an industry standard API. there are other variants being used on different platforms like android which uses OpenGL-ES. Then there is the alternative to CUDA known as OpenCL.

 

Here is the Nvidia Developers Blog about Vulkan that was posted 3 days ago.

https://developer.nvidia.com/engaging-voyage-vulkan

 

This is a link to the Vulkan tutorial site which provides a lot of easy to read information on how the API works:

http://vulkan-tutorial.com/

 

Here is the PDF of the presentation Nvidia did at SIGGRAPH 2015:

http://on-demand.gputechconf.com/siggraph/2015/presentation/SIG1501-Piers-Daniell.pdf

 

Here is a handy intro to Vulkan from a devs' point of view:

http://www.toptal.com/api-developers/a-brief-overview-of-vulkan-api

 

hope that helps explain both the benefits of DX12 and Vulkan APIs since they are similar in nature.

Exactly and if instead OpenGL we had there DirectX 11 would be exactly the same since the CPU (in)efficiency is similar in both (DX11 and OpenGL).

That's why I saying (and always have been) that the performance issues with ARMA 3 are related with graphics mainly due to DirectX 11 inefficiency.

Now from what I've seen (in some other game) about DirectX 12, I dont think is so efficient (on this subject) as is being claimed, in fact is not. Not to mention that we need Nasa GPUs (and CPUs) to run it in an acceptable manner.

 

@Vasily.B

No mate, only CBA.

Share this post


Link to post
Share on other sites

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

 

Alrighty, i guess thats that concerning arma 3's performance. DX12 might help a tiny bit with Tanoa. But as many other game developers stated, you need to fundamentally rewrite an existing (or better design a new one) game engine from scratch, to take full advantage of the new api's features, whether thats dx12 or vulcan.

 

Lets just hope that BI wraps up arma 3 with Apex and moves on to arma 4 some time in late 2017, 2018. New engine, vulcan api, limited number of assets and terrains but therefore and extremly performant underlying engine framework. Bi delivers that, the community delivers the terrains and art assets and so forth. I mean, there is so many mods out there, but with each mod i add i am concerned arma 3's performance is being eaten up fps by fps.

  • Like 1

Share this post


Link to post
Share on other sites

Exactly and if instead OpenGL we had there DirectX 11 would be exactly the same since the CPU (in)efficiency is similar in both (DX11 and OpenGL).

That's why I saying (and always have been) that the performance issues with ARMA 3 are related with graphics mainly due to DirectX 11 inefficiency.

Now from what I've seen (in some other game) about DirectX 12, I dont think is so efficient (on this subject) as is being claimed, in fact is not. Not to mention that we need Nasa GPUs (and CPUs) to run it in an acceptable manner.

 

@Vasily.B

No mate, only CBA.

I wouldnt think that you need a NASA grade GPU to do what vulkan and DX12 claim to do. Intel's demo was using their iGPU on the CPU and it was fantastic. That was using a alpha-driver stack for Vulkan. Vulkan and DX12 do not really have any graphics improvements. Instead, they enable existing FX and features to work better. For example with how tessellation heavily taxes GPUs, using the bare-metal APIs, that heavy taxation of the GPU to be reduced quite a bit.

Share this post


Link to post
Share on other sites

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

 

Alrighty, i guess thats that concerning arma 3's performance. DX12 might help a tiny bit with Tanoa. But as many other game developers stated, you need to fundamentally rewrite an existing (or better design a new one) game engine from scratch, to take full advantage of the new api's features, whether thats dx12 or vulcan.

 

Lets just hope that BI wraps up arma 3 with Apex and moves on to arma 4 some time in late 2017, 2018. New engine, vulcan api, limited number of assets and terrains but therefore and extremly performant underlying engine framework. Bi delivers that, the community delivers the terrains and art assets and so forth. I mean, there is so many mods out there, but with each mod i add i am concerned arma 3's performance is being eaten up fps by fps.

As for Arma 4, I really hope they do Linux first with Vulkan API and the new, reworked engine. Then port to Windows. It is easier to port from Linux to Windows than from Windows to Linux. Add in the fact that They would use Vulkan on both platforms.......easy API wise. They already use Linux servers for game servers. The logical next step is to develop for Linux. If not Linux first, then Windows and Linux side by side. Add in the fact that AMD is releasing a competitor to Nvidia's Gameworks Bullshit. AMD's GPUOpen (I think it's called this), is essentially everything that Gameworks is but Opensource. Meaning the devs can see all the code and how everything works and can fork it or tweak it as they see fit. Should really put a wrench in Nvidia's planned monopoly of the gaming segment. Can you imagine Arma 4 running on Vulkan with the AMD version of Gameworks (AMD's version doesnt nerf Nvidia unlike Gameworks nerfing AMD), and the Physics code of Bullet or whatever AMD uses? I think it is Bullet. Hell, it would be epic if they integrated OpenCL for the crazy stuff like hyper realistic rendering since OpenCL is amazing for that sort of thing. Or even using OpenCL for crunching numbers like calculating trajectories etc. It would be epic. AMD might be struggling in a financial sense at the moment but seriously, most of the technological leaps and bounds have come from AMD. AMD has had a huge hand in the development of HBM for example.

Share this post


Link to post
Share on other sites

amd sure is way more appealing as a company and from a consumer stanpoint anyway. And really like that they are going open source and free access everywhere, free-sync is a case in point. I guess amd learned a lot from developing the technology for the latest consoles. I am actually very positive and consident that amd will reap the benefits of this policy: lets develop gpu/cpu design for a lot of paralellism and make the software side open source and free. The question still is, will game developers assimilate all the libraries and stuff GPUOpen will provide. I guess amd really has to promote and diseminate there software side to developers.

 

And here comes my concern for arma 4: apparently these performance/ai issues have been with the series since 2001. Yes, now is a very good time to clean up and build an uptodate technology. Withe zen, polaris/kepler, there will be cpu/gpu power in abundance. But i am not so sure whether BI will actually do the leg work and take full advantage of the latest technologies to leave that performance mess behind, once and for all.

Share this post


Link to post
Share on other sites

I really don't have a huge problem with how arma 3runs. so I appreciate the little improvements. Maybe running arma and arma2 on my shit pc gave me a different perspective.

I believe there will be incremental performance improvements made in the lead up to apex. Making the different parts as efficient as possible. working with what they have.

In my opinion to expect a huge jump in performance around the corner is probably unrealistic. to hope for it is another thing.

Share this post


Link to post
Share on other sites

Arma 4 should be on Unreal engine, and game itself should be made in cooperative with codemasters - we would get "final" arma, looking as it should look like, working as its hould work. IMHO A4 should be last part, but best developed. A3 is ggod game, but everytime im launching it, playinf for a while, this opinion is getting weaker. When i get in tank, this opinion is lost. As for me A3 should be freezed on steam, developers should fix all major issues and just polish the game engine, so it could handle most important features from Vulcan or Dx12. Some thing will stop work? We will survive 2  or 3 months with 1.54. Priorities is something they should fix first :)

  • Like 1

Share this post


Link to post
Share on other sites

A4 on Unreal engine? Forget about all the easy modding then. :D

Share this post


Link to post
Share on other sites

Arma 4 should be on Unreal engine, and game itself should be made in cooperative with codemasters - we would get "final" arma, looking as it should look like, working as its hould work. IMHO A4 should be last part, but best developed. A3 is ggod game, but everytime im launching it, playinf for a while, this opinion is getting weaker. When i get in tank, this opinion is lost. As for me A3 should be freezed on steam, developers should fix all major issues and just polish the game engine, so it could handle most important features from Vulcan or Dx12. Some thing will stop work? We will survive 2  or 3 months with 1.54. Priorities is something they should fix first :)

haaaaaaaaaaaaaaaaaaaahhhhhhhhhhaaaaaaaaaaahhaaaaaaaaaaa....codemasters? Unreal?

 

NO...

 

A4 on Unreal engine? Forget about all the easy modding then. :D

lol, what? Unreal is pretty easy engine to mod for.

  • Like 2

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

×