• 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.

NVIDIA Publishes DirectX 12 Tips for Developers

Soldato
Joined
2 Jan 2012
Posts
12,400
Location
UK.
Programming with DirectX 12 (and Vulkan, and Mantle) is a much different process than most developers are used to. The biggest change is how work is submit to the driver. Previously, engines would bind attributes to a graphics API and issue one of a handful of “draw” commands, which turns the current state of the API into a message. Drivers would play around with queuing them and manipulating them, to optimize how these orders are sent to the graphics device, but the game developer had no control over that.

NVIDIA has created a large list of things that developers should do, and others that they should not, to increase performance. Pretty much all of them apply equally, regardless of graphics vendor, but there are a few NVIDIA-specific comments, particularly the ones about NvAPI at the end and a few labeled notes in the “Root Signatures” category.

Article: http://www.pcper.com/news/Graphics-Cards/NVIDIA-Publishes-DirectX-12-Tips-Developers

Direct link to Nvidia's do's and dont's: https://developer.nvidia.com/dx12-dos-and-donts
 
Last edited:
The saddest thing is there market share will get Dev's on side and minimize any advantage AMD could have damaging there opportunity to grab back market share.
 
The saddest thing is there market share will get Dev's on side and minimize any advantage AMD could have damaging there opportunity to grab back market share.

Well if the following is referring to Async Compute then devs would have to create two codepaths, one for Consoles/AMD and one for Nvidia gpu's. They would be stupid to not use DX12 to its full potential.

Don’ts

Don’t rely on the driver to parallelize any Direct3D12 works in driver threads
On DX11 the driver does farm off asynchronous tasks to driver worker threads where possible – this doesn’t happen anymore under DX12
While the total cost of work submission in DX12 has been reduced, the amount of work measured on the application’s thread may be larger due to the loss of driver threading. The more efficiently one can use parallel hardware cores of the CPU to submit work in parallel, the more benefit in terms of draw call submission performance can be expected.
 
Publicity stunt !!!

This would have been far more useful to devs if done 12 to 18 months ago.

Better still if NVidia and AMD had jointly issued something like this.
 
Usual Nvidia hyperbole. Devs will optimise for GCN as it's what the consoles use.

The saddest thing is there market share will get Dev's on side and minimize any advantage AMD could have damaging there opportunity to grab back market share.

4d8094e9140853a9caf68b78e30cddc8.png


Source: http://store.steampowered.com/hwsurvey

If steam is be believed then Nvidia don't have 80% market share, the 80% thing was based off quarterly sales which is not market share. Although the steam stats are not for discreet GPU alone. PC gamers are a minority compared to how many console gamers there are.
 
Last edited:
Publicity stunt !!!

This would have been far more useful to devs if done 12 to 18 months ago.

Better still if NVidia and AMD had jointly issued something like this.

It's probably rushed out now when they realised that devs have actually started using the main DX12 features much sooner than they expected. I bet they didn't expect Microsoft to give away Windows 10 for free. ;)
 
Usual Nvidia hyperbole. Devs will optimise for GCN as it's what the consoles use.



4d8094e9140853a9caf68b78e30cddc8.png


Source: http://store.steampowered.com/hwsurvey

If steam is be believed then Nvidia don't have 80% market share, the 80% thing was based off quarterly sales which is not market share. Although the steam stats are not for discreet GPU alone. PC gamers are a minority compared to how many console gamers there are.

It's more to do with cards being sold in the here and now where it's 8:2 or somewhere close.
 
LOL, typical nVidia business practise then ;)

When you're selling 8/10 cards then I guess you can!!!
I hope devs do know where to tell them to stick it, consumers keep bending over so hopefully the industry itself has a bit of a spine at least.

Still it's all just speculation as to whether they will push this too hard and we all know that any notion that Nvidia has negative business practice will just end with forum wars so may as well just take it with a pinch of salt.
 
Usual Nvidia hyperbole. Devs will optimise for GCN as it's what the consoles use.



4d8094e9140853a9caf68b78e30cddc8.png


Source: http://store.steampowered.com/hwsurvey

If steam is be believed then Nvidia don't have 80% market share, the 80% thing was based off quarterly sales which is not market share. Although the steam stats are not for discreet GPU alone. PC gamers are a minority compared to how many console gamers there are.

Both market share and the steam hardware survey are useless for the topic at hand. We'd need to see DX12 capable card only sales.
 
If steam is be believed then Nvidia don't have 80% market share, the 80% thing was based off quarterly sales which is not market share. Although the steam stats are not for discreet GPU alone. PC gamers are a minority compared to how many console gamers there are.

I did say when you're 'selling' 8-8.5/10 cards (in the here and now) ;)

(and don't ask me what a 0.5 card looks like :p)
 
Usual Nvidia hyperbole. Devs will optimise for GCN as it's what the consoles use.

Somewhat a fallacy - mainstream devs will largely still work at a fairly abstracted level - the engine coders and people making libraries might implement optimised DX12/platform optimised code at a low level but largely any platform specific optimisations, etc. will be lost in inefficient use at a higher level - you aren't going to magically see all game developers working with optimised DX12 code - most will still be doing something along the lines of createbuffer(), loadtexture() type use and not caring what goes on underneath aslong as it works.
 
But this begs the question, if the AMD cards are so good and priced so competitively why are Nvidia out selling AMD at 8:2?
Nvidia have a much bigger marketing budget. You see their name plastered everywhere and half the games you start these days let you know The Way It's Meant to be Played™ before the title screen. :rolleyes:

Plus, whilst they may not ultimately sell as many units, having the top-performing card at the ultra high end seems to convince people that their cards must be better at every price point, based on what I read all the time. It's important to be seen as the company that makes the most powerful GPU available, even to people who can't afford it, and Nvidia have held that crown more often than not in recent years.
 
Perhaps AMD can compile a document offering tips to developers so that their own customers might benefit? oh wait... no... it's too much hard work it's far easier to just sit back, wait for games to run badly on their hardware and then blame the developers for listening to the only advice they received.
 
Back
Top Bottom