Jump to content
dna_uk

DirecxtX 12 for ArmA 3?

Recommended Posts

Microsoft (/Xbox) already said in they will focus more on gaming than ever b4 with Windows 10

This is something Microsoft says with each new Windows release, yet it has never materialised into anything good. A bunch of empty promises in the form of PR talk. They have never focused on PC gaming.

Share this post


Link to post
Share on other sites
This is something Microsoft says with each new Windows release, yet it has never materialised into anything good. A bunch of empty promises in the form of PR talk. They have never focused on PC gaming.

^^^^^^^ this is exactly what I mean!!! Microsoft always says that every Windows release. Why? to attract gamers to buy Windows. Then, nothing good ever comes of it. Why? Xbox.

Share this post


Link to post
Share on other sites

Actually, DX 11.2 brings tilled resources, which could greatly improve ArmA's terrain textures and others. Also if you look back, here -

. Roughly 6 years ago you could have a form of Global Illumination, Tessellation and AI on the GPU (thousands), all on a single card - merly a HD4890 with 1,36TF. The technology for great advancements is/was already there, just that Bohemia refused to pursue it.

With DX12 it's a better situation overall in gaming because xbox and ps are close in architecture with the PC and also similar in terms of API, whereas dx11 wasn't.

Edited by calin_banc

Share this post


Link to post
Share on other sites
This is something Microsoft says with each new Windows release, yet it has never materialised into anything good. A bunch of empty promises in the form of PR talk. They have never focused on PC gaming.

I have to agree with this.

In the last years Microsoft has moved in to console world and this made worse the PC gaming.

We just need to look how Microsoft has killed Direct3d sound to introduce Xbox Sound Api and how this affected negatively all PC games in matter of sound quality.

Only the naive persons are expecting something good for PC users with the upcoming Microsoft releases.

Share this post


Link to post
Share on other sites
Actually, DX 11.2 brings tilled resources, which could greatly improve ArmA's terrain textures and others. Also if you look back, here -
. Roughly 6 years ago you could have a form of Global Illumination, Tessellation and AI on the GPU (thousands), all on a single card - merly a HD4890 with 1,36TF. The technology for great advancements is/was already there, just that Bohemia refused to pursue it.

With DX12 it's a better situation overall in gaming because xbox and ps are close in architecture with the PC and also similar in terms of API, whereas dx11 wasn't.

The problem with your argument of the consoles being close to PC and DX 12 is that Only Xbox uses DX. PS uses OpenGL or some other API. DirectX requires Windows or Xbox OS (Windows CE?). IIRC Ps3 used OpenGL and games on it were beautiful. Unreal Engine 4 supports OpenGL and running the benchmarks in Linux for the tech demos looks effin amazing and sexy. No DirectX or windows required.

Share this post


Link to post
Share on other sites

Only PS 3 exclusive looked good (for consoles standards anyway). That aside, it doesn't matter if it's called DX12 or a version of OpenGL, they are going for the same features that resembles DX12 on PC, because also the hardware is compatible. Back then (dx9vs.dx11), there weren't any hardware in the consoles capable of doing what dx11 does, ergo, DX11 took off heavily and much wasn't done. But then again, Bohemia was PC exclusive and how many of the features from that movie put into it's games, never mind the BIG one: GPU accelerated AI?

I for one, hope that with BI's newly found love for consoles, probably dx12 will be a thing in their new engine (at least from performance and multi GPU stand points).

Share this post


Link to post
Share on other sites
They have never focused on PC gaming.

Why should they? Gaming is a irrelevant market for OS makers.

Microsoft (/Xbox) already said in they will focus more on gaming than ever b4 with Windows 10 and DX12 [...]

PR statement 'we'll do x in the next y years' != x has been done y years later.

[...] you don't have to install OpenGL to play them.

That's because close to nobody ships his distribution with fb bindings for Xorg.

If BI made the Linux client OpenSource, [...]

If your business is selling software - rather than support - publishing your code is the worst idea ever.

OpenGL 4.5 goes beyond DirectX 11.

OpenGL still has a long way to go before it becomes a gaming API.

Also, Microsoft *will* publish DirectX for Linux when OpenGL gets close - the 'FOSS is cancer' folks they used to have retired.

Even Microsoft supports OpenGL.

Since DirectX was never a thing on the workstation market, and that's where the OS money is made.

[...] assembly programming language. That's not going to happen, ever.

Parts of modern game engines are written in assembler - they've nothing to do with DirectX/Mantle/OpenGL though.

Share this post


Link to post
Share on other sites
Why should they? Gaming is a irrelevant market for OS makers.

Because they always claim they're doing it? I never demanded anything, only criticized the shallow corporate PR. What logic are you following here?

Also, gaming has been relevant enough for Microsoft to tie new DX into new Windows releases in hopes of driving sales. And today, PC gaming is stronger than ever - even Japanese console developers are churning out PC ports in haste.

If there's something positive in the Win10 event, it's that they demoed playing a game through Steam. Meaning hopefully they'll leave the existing digital distribution and DRM systems to do their thing instead trying to reinvent something like GFWL.

Share this post


Link to post
Share on other sites
Why should they? Gaming is a irrelevant market for OS makers.

Not if you're a game developer as well or if you stand to lose from other possible OSes taking your customers.

Share this post


Link to post
Share on other sites
Why should they? Gaming is a irrelevant market for OS makers.

I would say, on the contrary!

If it wasn't for DirectX Microsoft would been in trouble long time ago. I actually think DirectX is what actually saved MS on the desktop market so far. After the total Windows 8 fiasco Linux is stronger than ever and will only grow - kids now growing up with RasPi, Android etc. - and quite a few gamers only have Windows installed just for games and dual boot to some flavor of Linux otherwise.

MS are aware of this and I think thats one reason for the free Windows 10 update (1st year), another is that they don't wan't Windows 7 to become the "new Windows XP" (but I think it will) and this is why MS are banging on the drums hyping up DX12.

Btw: I'm not "anti MS" and really liked Windows from 3.0 up to 7 (with a few exceptions like ME and Vista) and Windows 10 maybe will be great, we don't know yet but I believe their "golden days" are over. If Valve manage to make gaming take off on Linux with their Steambox they will surely not dissapear but could be in real trouble on the desktop market.

An interesting read is Bill Gates old book "The road ahead" where he talks about the dilemma of a company growing "to big" and he is/was well aware that same could happen to them. Sliding OT so I better stop... all IMO of course ;)

/KC

Edited by KeyCat

Share this post


Link to post
Share on other sites

SweetFX 2.0 alpha came out a few days ago and one of the new features is that it shows the number of draw calls made by the game. Now one of the theories I had from before was that DX11 was somewhat of a bottleneck to Arma 3 and that DX12 would bring a decent boost to what was 1/3 of the total time for a frame. But then I saw the SweetFX figures - it was 1000-1200 draw calls. The limits of DX11 are somewhere around 8,000-12,000 and a lot of big AAA games might run 6,000 or so. Arma 3 really isn't draw call heavy at all. So while it might gain from multithreading it appears all the CPU time that goes into "rendr" is actually BI code and not microsoft code. Thus replacing the renderer with DX12 isn't going to make much difference, BI's overhead appears to be too high for it make any practical difference. So unless something else changes the profiling data combined with the draw call counts suggests DX12 isn't going to help much at all.

Share this post


Link to post
Share on other sites
[...] trying to reinvent something like GFWL.

They tried to take a part of the emerging digital game distribution cake - and rushed a product that was too late anyways.

Being (too) late for the party is a thing Microsoft became good at lately.

If it wasn't for DirectX Microsoft would been in trouble long time ago.

DirectX helps with building a de-facto monopoly. However, unless someone else applies significant pressure, there won't be larger improvements, simply because (desktop) OS money is made on the office/workstation market.

If Valve manage to make gaming take off on Linux with their Steambox [...]

Then we'll see DirectX on Linux. And Steamboxes are going to replace PS4/Xbone (and their hypothetical successors) in the next 5-10 years.

Share this post


Link to post
Share on other sites
SweetFX 2.0 alpha came out a few days ago and one of the new features is that it shows the number of draw calls made by the game. Now one of the theories I had from before was that DX11 was somewhat of a bottleneck to Arma 3 and that DX12 would bring a decent boost to what was 1/3 of the total time for a frame. But then I saw the SweetFX figures - it was 1000-1200 draw calls. The limits of DX11 are somewhere around 8,000-12,000 and a lot of big AAA games might run 6,000 or so. Arma 3 really isn't draw call heavy at all. So while it might gain from multithreading it appears all the CPU time that goes into "rendr" is actually BI code and not microsoft code. Thus replacing the renderer with DX12 isn't going to make much difference, BI's overhead appears to be too high for it make any practical difference. So unless something else changes the profiling data combined with the draw call counts suggests DX12 isn't going to help much at all.

At what settings have you tested?

Share this post


Link to post
Share on other sites

Mostly very high settings ( I turn off bloom and DOF, run SMAA and MSAA 4x, 2k visibility). Played a small game tonight and saw up to 3000 draw calls but mostly never above 2000 and averaged 1200. The higher calls were always been facing a town, that dramatically increases the amount of draw calls. Every unit also seems to increase them, I wouldn't be surprised to see 50-100 for a unit member so a game of 60 players might very well have a lot more.

Share this post


Link to post
Share on other sites

Have you tried with a busy mission like the Arma benchmark mission?

Share this post


Link to post
Share on other sites
Mostly very high settings ( I turn off bloom and DOF, run SMAA and MSAA 4x, 2k visibility). Played a small game tonight and saw up to 3000 draw calls but mostly never above 2000 and averaged 1200. The higher calls were always been facing a town, that dramatically increases the amount of draw calls. Every unit also seems to increase them, I wouldn't be surprised to see 50-100 for a unit member so a game of 60 players might very well have a lot more.

Well, that's the thing. You need higher: view distance, object distance and quality, units, in towns, etc. If you're playing on small mission in SP, without much around then yes, draw calls may be only a few.

Share this post


Link to post
Share on other sites
Well, that's the thing. You need higher: view distance, object distance and quality, units, in towns, etc. If you're playing on small mission in SP, without much around then yes, draw calls may be only a few.

And still it was struggling maintaining 40 fps. Not below 30 but this is also a very low draw call count. Its not the source of the poor performance we are seeing, DX11 is capable of a lot more.

Share this post


Link to post
Share on other sites

How was your load on the GPU/CPU? In that case, the engine must have some real performance issues!

LE: I'm wondering if BF 4 goes over the draw call limit (which is actually very dependent on the CPU performance, not only API), because it can throw back some good boosts going from DX11 to Mantle.

Edited by calin_banc

Share this post


Link to post
Share on other sites

Benefits of DX12 presented here so that layman can understand: http://www.littletinyfrogs.com/article/460524/DirectX_11_vs_DirectX_12_oversimplified

GDC

Pay very very close attention to GDC this year. Even if you’re an OpenGL fan. NVidia, AMD, Microsoft, Intel and Sony have a unified goal. Something is about to happen. Something wonderful.

Share this post


Link to post
Share on other sites

Yup, it should give some nice results. But the render part has to be separated from the simulation (don't know if it's done in ArmA 3 or only they are working on it for Day Z).

Share this post


Link to post
Share on other sites
Yup, it should give some nice results. But the render part has to be separated from the simulation (don't know if it's done in ArmA 3 or only they are working on it for Day Z).

Considering Arma 3 is no where near the limits of DX 11.3 today (sitting around 1-2k draw calls only whereas most games can push 10-12k at higher FPS than Arma) DX12 is going to have no impact on the game. This is not the solution we are looking for, the performance issues in the game are related to BI's code and simulation and not DirectX. I have categorically proved with the in game profiler, with basic draw call analysis and then with GPUview window's profiling of DirectX and GPU usage. I don't want people getting their hopes up, without a fundamental change at the core of the way A3 does things DX12 will do absolutely nothing for the game. The only way to basically guarantee 60 fps today is to have a 12Ghz CPU and it doesn't look like from my analysis that DX12 would do much more than knock a few Ghz off that, assuming it really is 10x more efficient at least.

Share this post


Link to post
Share on other sites

Tested in Kavala, all manually maxed out (Dof, bloom an the sorts were at 100), AA 4xMSAA, plus ultra SMAA.

1st. 6000m view/object distance - http://i.imgur.com/u8ZhNJK.png

2nd. 500m view/object distance - http://i.imgur.com/9LWX3Nq.png

3rd. 500m view/object distance with object quality to low - http://i.imgur.com/bOxUEB1.png

4th. what object quality means - http://i.imgur.com/pWvAuGa.jpg

Geometry as far as I know, is done on CPU and GPU and while the second can handle lots of it, the CPU can reach it's limits quite soon. Tessellation can be done on the GPU "on the fly". Can tessellation or DX12 solve the "geometry on the CPU problem", I don't know (just a noob at this). However, when you look at the the pictures showing 6000m vs. 500m, there shouldn't be much of a difference since the scene is almost the same (just that small hill in the back). So yes, optimization should still be done on DX11, because at the moment, clearly the engine renders stuff which is not seen by the player. This is happening in all previous games made on RV, including Day Z.

With that said, I wanted to go a little bit further and test DX11.1 vs. Mantle in BF 4, since at least it should show a small increase compared to what I would expect in ArmA 3 (being smaller and all that). I’ve tested on Ultra 1080p, 90FOV. Please keep in mind that Frost Byte is very efficient under dx11.1.

1.st pic Mantle Low Mesh - http://i.imgur.com/7iNE99r.jpg

2.nd pic Mantle Ultra Mesh - http://i.imgur.com/YIo8qC4.jpg

3.rd pic DX11.1 Ultra Mesh - http://i.imgur.com/ieshIF5.jpg

4.th pic DX11.1 Low Mesh - http://i.imgur.com/kNTaB0E.jpg

According to HardOCP, Mesh in BF 4 is “Mesh Quality: The mesh quality option controls the detail and draw distance of object meshes (also known as models). At low settings, decorative objects disappear earlier as the player's viewpoint moves away from these, and objects are shown with less geometric detail at closer distances. At higher settings, objects remain visible further in the background and are shown with full detail up close. It is important to note that if you are playing the Recon role and spend time sniping, ensuring mesh quality is at the highest level will help you see your opponents that are hiding in bushes or other mesh objects.†Basically, more or less the same as Object Quality in ArmA 3.

As you can see, Mantle is faster than dx11.1 even at ultra mesh compared to low mesh on dx and perhaps even more important – smoother!

A 27-28% increase I’d say is quite nice, but it can be even more from what I’ve tested, depending on the scene and of course, guys with lower end CPUs will see even bigger improvements.

Share this post


Link to post
Share on other sites

...snip BF4 and Arma comparison on mesh quality....

As you can see, Mantle is faster than dx11.1 even at ultra mesh compared to low mesh on dx and perhaps even more important – smoother!

A 27-28% increase I’d say is quite nice, but it can be even more from what I’ve tested, depending on the scene and of course, guys with lower end CPUs will see even bigger improvements.

The difference between the two games is quite dramatic in how they use resources. So in the case of BF4 this is what their GPUView looks like over a couple of frames:

https://dl.dropboxusercontent.com/u/3638175/BF4GpuView.jpg (790 kB)

Quite clearly its use of DX11.1 is both quite parallel (lots of jobs queued up) and its use of the GPU is high achieving basically 100% usage. This is a game that is limited by the GPU and its spending quite a bit of time on the CPU waiting for the GPU.

Compare this to Arma 3:

gpuview%20Paragaia.png

Here we can see GPU usage is low, and its not queuing up on the CPU. Arma's problems lay outside of the API and the GPU, its not being dominated by the CPU overhead of directX or we would see it in the CPU graphs and its not being dominated by the GPU time either.

Arma has a different problem to most games, it has a lot of work done outside of rendering as we can see from this game profile.

https://dl.dropboxusercontent.com/u/3638175/Capture%20Palagia.jpg (612 kB)

This work outside of DirectX is the cause of Arma's performance issues. I presume much of it is in the scripting engine but its really hard to get to the bottom of knowing anything else other than - its BI's code for the game simulation and the code they surround the DirectX code with. Only they are the experts in that.

So how much impact could DirectX 12 have? Well at a maximum it impacts about 30% of the frame time as the rest of it appears to be outside of anything to do with graphics. That would mean 30 fps gets converted to 40 fps if DX12 was perfect and had literally zero overhead and the port to the API was done brilliantly. In the real world of course that isn't going to be the case because some of that rendr code is definitely BI's and nothing to do with DX overhead. Maybe we should expect a few percentage points improvement, maybe 10% but its not going to solve the underlying issues which are all elsewhere.

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

×