• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

Async Compute is super hard & too much works for devs

Soldato
Joined
28 Sep 2014
Posts
3,631
Location
Scotland
http://wccftech.com/async-compute-boosted-hitmans-performance-510-amd-cards-devs-super-hard-tune/

Hitman developer IO Interactive admitted Async Compute is super hard to tune and required too much works to gain just small 5 to 10% performance boost on AMD GCN and no difference on Nvidia GPUs, Async Compute is not a magic wand AMD marketing claimed.

It seemed many developers are not interested in Async Compute that is super hard to tune and required too much efforts to achieve just little performance boost is really a waste of time and not worthwhile on PCs.
 
http://wccftech.com/async-compute-boosted-hitmans-performance-510-amd-cards-devs-super-hard-tune/

Hitman developer IO Interactive admitted Async Compute is super hard to tune and required too much works to gain just small 5 to 10% performance boost on AMD GCN and no difference on Nvidia GPUs, Async Compute is not a magic wand AMD marketing claimed.

It seemed many developers are not interested in Async Compute that is super hard to tune and required too much efforts to achieve just little performance boost is really a waste of time and not worthwhile on PCs.

What will that mean for dx12 especially on amd cards. Hmmmm
 
I get the feeling that pretty much describes the whole DirectX 12 system. Much harder for developers to code for. Now of course they will get their heads round it an get it right eventually, but I get the feeling that it might take a while.
 
nVidia damage control in full spin? :P

On a serious note I think one of the problems here is going to be that to really get the most out of async compute you need to be developing with the whole pipeline in mind - those people who build game engines from scratch won't really be able to tune any async implementation for the products that are subsequently built using that game engine and the developers using the engine as middleware will be somewhat limited by the architecture of the engine and not really able to do a massive redesign to support optimal async with their product.

EDIT: I think there is another aspect here in that with Fiji, etc. AMD simply haven't had enough space to properly implement the architecture and have had to make some compromises to balance DX12 and DX11 performance so there simply isn't the hardware there to really push the boundaries of async compute whereas upcoming sub 28nm offerings should be a different story and on the nVidia side their solution on Maxwell doesn't really outperform their ability to brute force compute and graphics at this level.
 
Last edited:
Its called new technology

Its not HARD its the fact its new and companies to do NOT want to pay developers to learn when they can finish projects instead. Saving companies the bottom line.

Until developers teach them self in their own time (very common) in software industry they won't show their directors the benefits or cost savings.

Give it a 8 months :)
 
Its called new technology

Its not HARD its the fact its new and companies to do NOT want to pay developers to learn when they can finish projects instead. Saving companies the bottom line.

Until developers teach them self in their own time (very common) in software industry they won't show their directors the benefits or cost savings.

Give it a 8 months :)

While I somewhat agree - having had a dabble with DX12 - to really make the most of it means dedicating quite a lot of time away from actually developing your game (engine) - even areas where the exact detail of the implementation has no impact on your final product's feature set or performance you still have to get your hands dirty with the low level stuff. Eventually as someone else mentioned there will probably be a certain amount of wrappers for that kind of stuff but in the mean time IMO its a bit of a misstep.
 
It seemed many developers are not interested in Async Compute that is super hard to tune and required too much efforts to achieve just little performance boost is really a waste of time and not worthwhile on PCs.

That is said nowhere in the article BTW people. Another AthlonXP special where he links to an article and then makes up stuff which he adds to it.

He reminds me of Seronx and the random stuff he adds to posts.

Also here is the original article WCCFTECH linked to:

http://www.dualshockers.com/2016/03...-in-hitman-advanced-visual-effects-showcased/

IO Interactive hosted a panel at GDC in San Francisco, that DualShockers attended: During the presentation Lead Render Programmer Jonas Meyer explained the pros and cons of using DirectX 12 in the studio’s latest game Hitman, comparing the performance of Microsoft’s new API with DirectX 11.

Meyer also showcased the advanced visual effects applied to each frame in the game, and you can see them in the gallery at the bottom of the post, alongside the full slide presentation. Below you can also read some of the most interesting points he made.

Hitman‘s dynamic time of day actually freezes when a level start because the game is so heavily scripted that it wouldn’t make sense to have variable light during the same mission.
Probes are used for reflections and ambient light, and are also generated at the start of a level.
In the frame showcased below there are 3,500 draw calls (commands to draw an asset or effect) and 8,000 instances. You can also see all the advanced effects added to the frame one by one.
The primary focus of using DirectX 12 was to improve the performance of both the CPU and GPU.
The developers still wanted to support DirectX 11, since it still has a huge user base that is still on Windows 7.
DirectX 12 requires a lot of temporary resources, requiring a fast multithreaded allocator. The developer used one very similar to the one presented at Last Year’s GDC by Naughty Dog’s Christian Gyrling.
The interface of the game is still based on DirectX 11. Programmers still prefer it, as it’s significantly easier to implement.
Asynchronous compute on the GPU was used for screen space anti aliasing, screen space ambient occlusion and the calculations for the light tiles.
Asynchronous compute granted a gain of 5-10% in performance on AMD cards, and unfortunately no gain on Nvidia cards, but the studio is working with the manufacturer to fix that. They’ll keep on trying.
The downside of using asynchronous compute is that it’s “super-hard to tune,” and putting too much workload on it can cause a loss in performance.
The developers were surprised by how much they needed to be careful about the memory budget on DirectX 12
Priorities can’t be set for resources in DirectX 12 (meaning that developers can’t decide what should always remain in GPU memory and never be pushed to system memory if there’s more data than what the GPU memory can hold) besides what is determined by the driver. That is normally enough, but not always. Hopefully that will change in the future.
The official guide lines Microsoft provided the developers with instructed to use the MakeResident and Evict commands to ensure that the assets always remained within the memory budget.
The Evict command makes a resource unusable, but the memory budget is updated instantly, and that’s a pro. MakeResident makes an evicted resource usable, and the time it uses to execute is proportional to the size of the resource.
The problem with this is that it’s complicated, hard to get right and easy to get wrong making the game run worse. The developers spent a really long time to get it right. Unfortunately it also uses a lot of memory (about 1 gigabyte).
In the gallery you can see performance comparisons between DirectX 11 and DirectX 12 on two different GPUs (unfortunately the models weren’t mentioned). The bars represent the frame time (milliseconds required to render each frame), with a nearly 20% gain at 720p where the game is mostly CPU-bound, but there’s actually a small loss in 4k, where the game is almost completely reliant on the GPU. The second GPU examined offers a 30% gain at 720p, and more than a 10% gain in 4K.
Meyer actually mentioned that he did not know precisely the reason why the first video card is slower in DirectX 12 at 4K resolution, but he clarified that there was a time in which it was much slower, and getting up to par with DirectX 11 required a lot of work. For a few months during development DirectX 12 was 10-20% slower in those conditions.
If you’re a developer who didn’t have a chance to attend GDC, or this specific presentation, and you’re interested in the full audio recording, we’re happy to share. Just contact [email protected], and we’ll send it your way.

It does make me wonder why Hitman does perform so much better on AMD hardware currently or even Ashes,and GoW now with the fix seems to run fine on AMD cards,or even a bit better.
 
Last edited:
Like above am sure once Devs get the hang of it DirectX12 will really start to shine.
I remember when ps3 came out and devs was having horrible time people was calling doom on playstation because of the CELL processor. They managed it and smashed out some very decent games.

My only issue with DirectX 12 is do devs need to work more harder for each GPU manufacturer? Think mantle and coding just for GCN even some older amd cards had issue with memory management at first, time will tell but I really hope everything kicks off too better pc gaming.
 
Just a small 5-10% performance boost. That is a pretty amazing performance boost surely? Now I have no idea what is involved in achieving that but writing off a 5-10% boost seems surprising.
 
I think the premise is that it isn't enough performance for the work required.

So why are the AMD cards doing quite well in three of the four DX12 games released so far,if async is doing bugger all??

Not sure with TR since people are saying the benchmark is worse than the actual gameplay,so cannot comment on that one for now though(although Nvidia leads on the bench in that one).

All seems a bit weird.
 
There is a lot more to DX12 than async.

Is the XBox One using DX12??

Edit!!

Just found this:

http://wccftech.com/xbox-one-direct...ute-hardware-specifications-ps4-comparison/5/

The Xbox One uses the DX 11.X API
The Xbox One API has low level access and capable of ASync Compute via 2 ACEs.
DX 11.X already has a significantly higher number of draw calls than DX 11.
Therefore DX 11.X already possesses most of the significant updates present in DX 12 API.
The vast majority of performance improvement in DirectX 12 comes from either the low level access or the asynchronous compute – both of which are already present on the console. As far as the draw calls go, the Xbox One API DX11.X already supports draw call bundles – the same as DirectX 12. In short, it already has a multitude of DirectX 12 features present.

I wonder if that is the reason we are seeing this - less async compute but more dev familiarity with DX11.X on GCN. Still does not explain Ashes though.

Second Edit!!

iD software just recently said this though 11 days ago:

http://wccftech.com/doom-dev-big-gains-async-compute-love/

While on topic of IHVs poking. We are seeing big gains with async compute - just saying.

all good, everyone getting some love : )

Seems a bit weird they are so enthusiastic about a marginal performance boost.
 
Last edited:
Is the XBox One using DX12??

Edit!!

Just found this:

http://wccftech.com/xbox-one-direct...ute-hardware-specifications-ps4-comparison/5/



I wonder if that is the reason we are seeing this - less async compute but more dev familiarity with DX11.X on GCN. Still does not explain Ashes though.

Second Edit!!

iD software just recently said this though 11 days ago:

http://wccftech.com/doom-dev-big-gains-async-compute-love/





Seems a bit weird they are so enthusiastic about a marginal performance boost.

The Xboxone should now be using dx12 as dx12 was originally developed to come out on xbox first. It was supposed to fix the mess that was xboxone's low level api and boost it's performance.
 
A-syncs such a tiny market, they are all going to be doing it.

lol :p

Async Compute is pretty big market. Xbone supports it. PS4 supports it, all AMD cards support it that came out since 2013.


Tiny is the Nvidia's market base in the whole market perspective.

And there are articles that Sony expected back in 2013, that when PS4 hits it's midlife period (aka 2016), Async compute going to give a big boost to graphics, tapping to the hardware resources more efficiently for physics etc. And rightly so, because it has 8 Async units, while Xbox has 4.
 
iD software just recently said this though 11 days ago:

http://wccftech.com/doom-dev-big-gains-async-compute-love/

Seems a bit weird they are so enthusiastic about a marginal performance boost.

id are in that position I mentioned before where they are building the engine and a product running on it and can fully optimise upwards and downwards as they go. Any future products built on the same engine that deviate significantly from doom may not so easily get big gains from async.
 
Meh nobody likes change, as humans we all try and resist it especially if were the ones who be sharp end of it. If you a student at university learning graphics programming you might as well learn DX12 and Vulkan as these will be industry standards by the time you graduate.

If your working in the industry it doesn't matter if you think something is hard or not if you want to stay relevant and be invaluable to your employer next time HR does hair cut on head count having knownhow and experience on the latest technology is what will save you.

Either way a sync is here and it isn't going away. As the saying goes adapt or die.
 
There is a lot more to DX12 than async.

ahahahhhahahahahahaha

seriously has no one realized yet ? there is nothing in dx12 !

nothing.

look at the games ? nothing.

what really big games have you heard say they using DX12 ? i will tell you , none !

it will be super seeded by a better version when they have it perfected.

games companies only cater mainly for what is the norm for big sales. dx12 is a minority.it makes no sense to cater for a minority for a project.

unless its a budgeted game cough cough insert company name here :D
 
A-Sync like anything requires new skills, its new tech.

I'm surprised to see one say "oh.... its too hard" others are not finding it so hard and getting good gains from it.
Maybe IO Interactive need to look at updating their skill base.
 
Back
Top Bottom