Jump to content
Sign in to follow this  
cofi0276

Mantle, SteamOS and Arma 3

Recommended Posts

The way I understand it - the Mantle is a low level graphics API (while the Direct3D is considered a high-level). It essentially removes the abstraction of DirectX and gets the developers as close to the metal as possible. Thus less time is spent on the CPU preparing the frame/draw calls - meaning the GPU is less bottle-necked in the end. It makes sense where this comes from considering that AMD is the supplier of next-gen console hardware and how weak the CPU is on those machines. And this actually sounds perfect for Arma given how the CPU is always an issue.

Not sure how hard would be to port a DirectX engine to Mantle. I guess on December (when the BF4 will get Mantle patch) we will see some real-world performance data.

---------- Post added at 12:10 AM ---------- Previous post was at 12:01 AM ----------

I never understood why OpenGL, given it being both software and hardware platform agnostic, never got more adopted by developers. Even considering the feature set against DirectX. (am i willingly being naive?)

have to read this

Edited by Simas

Share this post


Link to post
Share on other sites

In arma seems to be the simulation is set up in such a way you cant multithread everything, mantle will most likely do next to nothing for performance, because most of what it does is lower directx overhead, which is not what causes the big fps drops.

Mantle would increase performance on an empty map with lots of objects though, but it does nothing for the simulation.

Anyway, small pc focussed devs with their own engine probably wont spend time coding for mantle, it's only for gcn, so 5xxx, 6xxx and nvidia users will not benefit at all. the big game engines will probably support it though.

Share this post


Link to post
Share on other sites

Great read, many thanks for sharing. I am sure it explains a good deal of the current OpenGL state. Those times are actually very familiar to me but mostly from the mainstream consumer point of view, the decisions regarding graphics card in upgrades... My dear S3Virge and then Matrox Mystique used with 3D Studio for DOS, custom driver and all. All that backstage shenanigans explain the direction it would ultimately take. Too sad that so called OpenGL "Architectural Review Board" dropped the ball on that one at the expense of all the members, developers and end-consumers... Just too sad.

I still think OpenGL is a worth while effort and should be supported.

yes! hopefully we'll see other oportunities for OpenGL to supercede DX. Small factor computing could give a nice push.

Share this post


Link to post
Share on other sites
You are right, it really lags compared to the other games out there that render the same view distance and have the same map size.
In arma seems to be the simulation is set up in such a way you cant multithread everything, mantle will most likely do next to nothing for performance, because most of what it does is lower directx overhead, which is not what causes the big fps drops.

Mantle would increase performance on an empty map with lots of objects though, but it does nothing for the simulation.

Anyway, small pc focussed devs with their own engine probably wont spend time coding for mantle, it's only for gcn, so 5xxx, 6xxx and nvidia users will not benefit at all. the big game engines will probably support it though.

To say that this game has the "right" to run poorly because it has a vast map doesn't represent the reality. You need to use what you have at your disposal, see what features of current and future hardware can help, see what corners you can cut and so on.

Just Cause 2 has a world 4 to 5 times larger than ArmA's and still runs much better. How does it do that? Well, some of the tree's leafs are just sprites that move around as you move, the aggressive LOD system renders grass and NPCs rather close to the player, but over all it can full de eye pretty good. In ArmA is more or less the same: there is no option to have the grass render further away even if you have a capable PC and everything else depends on the "view distance/object distance" options, where you actually need to render at least 1,5km of the object if you plan to fly and not see a relatively ugly and empty map. Talking about the map, the ground texture, like always, seen from middle distances is not the best. Shadows, at least on characters and other objects, are very sharp and low poly, no where near the "standard" DX11 soft shadows. There is no tessellation, especially dynamic tessellation, global illumination (or only at a relative low level) etc. This can all be address through higher level DX iterations or Mantle, because let's not forget, diversity of objects in the world, their numbers and the view distance which all work together in a large environment, require a great deal of draw calls - exactly the major deal breaker in the PC platform. Take away the encumbrance of those and you'll have the CPU available to do other calculation faster and efficiently. The same things goes with 64 bit exe.

Anyway, the bottom line is that if you want to build a game like no other in terms of realism and size, then you need to use the latest technology available, software and hardware wise. No doubt, ArmA 3 is a GREAT leap forward from ArmA 2, but it still far from what it can become. Hopefully, the developer will continue to work on their engine and add new stuff, including civilian AI GTA like (doing their stuff, with cops, medics, fireman and so on - of course, at relative basic level), better animation and physics systems and so on. Surely, in time, not all at once.

Happy gaming!

Share this post


Link to post
Share on other sites
To say that this game has the "right" to run poorly because it has a vast map doesn't represent the reality. You need to use what you have at your disposal, see what features of current and future hardware can help, see what corners you can cut and so on.

Just Cause 2 has a world 4 to 5 times larger than ArmA's and still runs much better. How does it do that? Well, some of the tree's leafs are just sprites that move around as you move, the aggressive LOD system renders grass and NPCs rather close to the player, but over all it can full de eye pretty good. In ArmA is more or less the same: there is no option to have the grass render further away even if you have a capable PC and everything else depends on the "view distance/object distance" options, where you actually need to render at least 1,5km of the object if you plan to fly and not see a relatively ugly and empty map. Talking about the map, the ground texture, like always, seen from middle distances is not the best. Shadows, at least on characters and other objects, are very sharp and low poly, no where near the "standard" DX11 soft shadows. There is no tessellation, especially dynamic tessellation, global illumination (or only at a relative low level) etc. This can all be address through higher level DX iterations or Mantle, because let's not forget, diversity of objects in the world, their numbers and the view distance which all work together in a large environment, require a great deal of draw calls - exactly the major deal breaker in the PC platform. Take away the encumbrance of those and you'll have the CPU available to do other calculation faster and efficiently. The same things goes with 64 bit exe.

Anyway, the bottom line is that if you want to build a game like no other in terms of realism and size, then you need to use the latest technology available, software and hardware wise. No doubt, ArmA 3 is a GREAT leap forward from ArmA 2, but it still far from what it can become. Hopefully, the developer will continue to work on their engine and add new stuff, including civilian AI GTA like (doing their stuff, with cops, medics, fireman and so on - of course, at relative basic level), better animation and physics systems and so on. Surely, in time, not all at once.

Happy gaming!

Just cause 2 runs well because nothing happens outside the small bubble where the player is, and not much happens inside the bubble either, maybe 20 ai?. More agressive lod and just cause style heat haze to hide it would increase performance on an empty map but has nothing to do with the extreme slowdowns in a big urban battle.

Draw calls are expensive, but it is not the problem in arma, if the game runs at 15 fps the draw calls are peanuts for a modern cpu, and with dx11 they're multithreaded, the bottleneck is in the battle simulation. On an empty map the draw calls might be the bottleneck, and I can see 70% cpu use on my quadcore, but that's not the main problem as performance is quite reasonable on an empty map.

Note that on an empty map with very low viewdistance, object detail and object viewdistance you can get extremely high fps, but if you then add a big battle with lots of ai the performance will be bad, and will not really decrease further as you increase the object viewdistance, viewdistance and object detail. Because in that case the battle is the problem, not the draw calls.

Share this post


Link to post
Share on other sites

A modern day CPU can handle roughly 4000 draw calls in DX, while the 7 year old CPUs from the console will do 12000-14000 and that comes directly from AMD. DX11 doesn't do miracles.

For me it's not ok with two groups of tanks and myself in a chopper to have the gpu usage drop like a rock - without fighting or anything, just moving straight ahead towards a town (not in a area full of houses), with a 2500k@4,5GHz. I could understand a drop in performance when you have more than 100 AI units IN A BATTLE, that I'm watching, but no like that. A hour ago I was on a MP server with around 6 guys, no AI and poor fps due to low gpu usage.

Talking about battle, the helicopter showcase is no where near what you can call "big battle", but the gpu usage is pretty low and it gets worse when I blow up the vehicles. Why? Poorly chosen software - physix. Battlefield, although with smaller overall maps, on a larger map from those, 64 players, more is done to the environment and more bullets and rockets fly than in your usual ArmA mp DM scenario (mind you, NO AI involved!) and still get double the perfromance on the same HW! Increase the draw distance when the server allows it and the fps goes big under 20fps. You could say "poor scripting", but really, what that server needs to process when you hardly have a large battle?

Just Cause 2 is a example where you can "optimize" the engine or the situation depending on the mission - you can add GTA, some parts of the 1st Crysis where BTW, with lots of AI I don't get the same penalty, and so on. Ballistics are killing performance because they use a badly chosen physics engine. High render distances (yes, you do get a drop in fps if you increase this even with lots of ai) requires a 64 bit system plus mantle or dx11.2 tiled resources or probably a very fast SSD RAID system (I'm talking here by just being yourself in the editor). AI will probably moved to the GPU into the future or at least some of it and that may solve the problem.

Yes, Mantle is not the solution to it all. There are major issues with performance where it really shouldn't. That must be figured out and then moved on to stuff like what we have here. :)

LE- http://www.dsogaming.com/news/battlefield-4-demo-was-running-on-a-single-r9-290x-at-amds-event-at-5760x1080/

5760x1080, BF 4 on a single r9 290x with Mantle

Edited by calin_banc

Share this post


Link to post
Share on other sites

MANTLE , is the best approach to boost the performance of games, is open to NVIDIA cards too.

Enviado de meu GT-N7100 usando Tapatalk 4

Share this post


Link to post
Share on other sites

I believe Mantle will alow Bis to make a Console game. The side benefit would be better AMD CPU/GPU performance on the PC game that would be made at the same time. ARMA 4?

Consoles are x86 now and will be for the next five years + a 7790 AMD gpu( power in the Consoles) and true Eight core threading( no DX overhead) you could get a better game experience than the current Highend on A3.

RV4.5...

Share this post


Link to post
Share on other sites
MANTLE , is the best approach to boost the performance of games, is open to NVIDIA cards too.

That is just whishful thinking right now: (Thracks - Enthusiast Graphics Marketing Manager - AMD)

GnrlKhalid: @Thracks is MANTLE open source ?

Thracks: @GnrlKhalid No. It is an API for the industry-standard GCN Architecture and its specific ISA, done at the request of game developers.

here

GCN Architecture is latest AMD's exclusive.

Share this post


Link to post
Share on other sites

quite interesting but remember NVIDIA is working on another linux API architecture, related to VRAM access for CPU/GPU ops ...

http://www.phoronix.com/scan.php?page=news_item&px=MTQ3MTY

from Red Hat and NVIDIA devs ... anyway it's gunna be interesting (if it's end user or more 'enterprise' custom as that's usual Red Hat domain)

Share this post


Link to post
Share on other sites
quite interesting but remember NVIDIA is working on another linux API architecture, related to VRAM access for CPU/GPU ops ...

http://www.phoronix.com/scan.php?page=news_item&px=MTQ3MTY

from Red Hat and NVIDIA devs ... anyway it's gunna be interesting (if it's end user or more 'enterprise' custom as that's usual Red Hat domain)

You would still need to support OpenGL. And a Linux client.

Share this post


Link to post
Share on other sites
quite interesting but remember NVIDIA is working on another linux API architecture, related to VRAM access for CPU/GPU ops ...

http://www.phoronix.com/scan.php?page=news_item&px=MTQ3MTY

from Red Hat and NVIDIA devs ... anyway it's gunna be interesting (if it's end user or more 'enterprise' custom as that's usual Red Hat domain)

Cool , but I think that MANTLE is anything bigger than nv api. mantle condolidate pc and next gen consoles.

Enviado de meu GT-N7100 usando Tapatalk 4

Share this post


Link to post
Share on other sites
You would still need to support OpenGL. And a Linux client.

A. you need OpenGL even with Mantle (for all unsupported GPU models)

B. you need linux client to run on linux ;)

Share this post


Link to post
Share on other sites

Big players always trying to segment the market of course. Could linux (RedHat in this case) make the required push to bring Nvidia and AMD in the same bag? Nvidia is there, AMD is pushing it's own approach. Prospect is not very hopeful right now, we end-users will benefit nothing while they keep this game (unhealthy competition).

Share this post


Link to post
Share on other sites
I still think OpenGL is a worth while effort and should be supported.

MANTLE will provide a graphical boost so incredible that even the most optimized OGL solution will not be able to touch. Add to this the ability to take existing DX code and you have a killer API! This is what Carmack has been bitching about for years, and with the resources at AMD's disposal, MANTLE could really be a game changer.

Share this post


Link to post
Share on other sites
A. you need OpenGL even with Mantle (for all unsupported GPU models)

B. you need linux client to run on linux ;)

Exactly :D So I think it would be better to have basic support for OpenGL and Linux on the table before dreaming about Mantle or anything else.

---------- Post added at 15:06 ---------- Previous post was at 15:03 ----------

MANTLE will provide a graphical boost so incredible that even the most optimized OGL solution will not be able to touch. Add to this the ability to take existing DX code and you have a killer API! This is what Carmack has been bitching about for years, and with the resources at AMD's disposal, MANTLE could really be a game changer.

Sounds like you have bought into all the marketing hype behind Mantle. I have yet to see any evidence that "MANTLE will provide a graphical boost so incredible that even the most optimized OGL solution will not be able to touch". It all sounds a bit sensationalist to me...

Share this post


Link to post
Share on other sites

Sounds like you have bought into all the marketing hype behind Mantle. I have yet to see any evidence that "MANTLE will provide a graphical boost so incredible that even the most optimized OGL solution will not be able to touch". It all sounds a bit sensationalist to me...

Probably - there is no evidence yet, so my statement is not based on any fact other than the elimination of a lot of windows overhead! Removing that huge bloat should do wonders for performance, but you are correct to remain skeptical.

However, you do not have to have OGL implemented if you just provide MANTLE to supported GPUs. Implementing MANTLE and OGL seems like an even bigger hurdle to cross, and the real question is what nVidia GPUs will be supported. AMD GCN cores are all supported and that covers cards that are almost three years old now.

Share this post


Link to post
Share on other sites

Bare to the metal drivers would be a win for most games. It would be back to the old days such as 3DFX glide where you can max out the speed of the hardware without all the bloatware inbetween.

OGL would be an awesome middle layer for anything non-AMD since Nvidia has incredible OGL drivers (way better than AMD) and it would make Mantle an awesome and viable experience crossplatform.

But this would totally suck for legacy AMD/ATI GPU users from HD 6xxx series and lower since none of those are GCN architetures and AMD's OGL are behind the times. No OGL multithreading even today so best to stick with DirectX 11.x for AMD/ATI systems.

I can only see this API going forward and barely providing any boost for games already out there, unless the games have modular driver support such as Unreal Engine or opensource applications including emulators and the like.

For current ARMA 3, I think it would be worthwhile and even more beneficial to use OpenCL or even DirectCompute APIs for physics and AI offloading (to hardware GPU) more than anything else. That is probably where most of the performance issues are right now.

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
Sign in to follow this  

×