Sign in to follow this  
3Ddreamer

DirectX 12 Effect on the Game Development Industry

Recommended Posts

TheChubu    9452

The ARB is also comprised of other industry representatives.  Plus they're a committee.  And we all know how good committees are at getting stuff done.

I know. That's where my second comment was aimed at:

 

I haven't seen them actively opposing OpenGL's direction at all (AFAIK all hardware vendors just try to justify ARB/Khronos decisions again and again).

Even if the ARB isn't wholly comprised of hardware vendors, I haven't seen any "general consensus" of vendors that are against ARBs decisions, au contraire, they seem to support their every move.

 

This isn't CAD/whatever devs vs hardware vendors like you more or less paint it, with the CAD devs being the majority and making the crappy decisions, instead they're pretty much on the same side. Hell, every single nVidia presentation on OpenGL has its 10 min dedicated to saying "Fixed Function Pipeline FTW! We will never deprecate anything!". I'm starting to think its as mandatory as Oracle's devs legal notices in their slides...

 


The only OpenGL vs D3D benchmarks was GL vs D3D9 aka not a reflection on reality of games going forward
The few numbers the Cass Everitt/John McDonald presentations had, were with DX11 as reference. They had one or two DX11 paths, then a bunch of OpenGL paths. Edited by TheChubu

Share this post


Link to post
Share on other sites
_the_phantom_    11250

The only OpenGL vs D3D benchmarks was GL vs D3D9 aka not a reflection on reality of games going forward

The few numbers the Cass Everitt/John McDonald presentations had, were with DX11 as reference. They had one or two DX11 paths, then a bunch of OpenGL paths.


I was specifically referring to the Valve OpenGL vs D3D9 presentation a while back when a lot of people got excited about OpenGL being faster by a couple of fps - probably should have called that out however so My Bad.

However to circle around to your point there was nothing surprising in the talk with regards to the D3D vs OpenGL numbers either; in fact if any graphics programmer WAS surprised by these numbers such that, for example, that map-discard was slower than persistent mapping, they should probably reconsider their knowledge base significantly.

And that's the best you can do now (on NV hardware, see previous comments about AMD and Intel) but, more importantly, this is as good as it gets. That's it. There is no more 'magic' which can be done. What you can submit on one thread is basically fixed going forward.

Which brings me to my D3D12/Mantle point; they have or are going to gain (at least) persistent mapping so suddenly that becomes just as fast. That leaves multi-draw indirect and it's ilk and I'd be surprised if that wasn't exposed to, but even if it isn't I doubt this is going to be a problem.

OpenGL is still late validating state, which is fine and great and if you remove interactions it gets you a long way, but it's still a cost every frame.
Mantle and D3D12's model allows for fixed state creation and validation cost ONCE for, if not all, then many many things, and also allows you to split the workload over threads.

So in a 4 core system, assuming reasonable scaling and a 'worst case' situation of D3D12/Mantle submission of scenes taking the same amount of time as OpenGL (which, given the presentation data I doubt but anyway...), a D3D12/Mantle app could summit draw calls somewhere in the region of 3.9x faster than an OpenGL app. Throw in more cores and that gaps widens.

Now, maybe they don't do any MORE work, so the scene complexity and GPU load is largely the same, but it does mean that the game can get back to doing other processing that much faster.

Even if core counts aren't increasing D3D12/Mantle should allow for somewhere in the region of a 3.9 to 11.n increase in scene submission rate depending on "various factors".

So while those AZDO numbers might look nice that's it.
Enjoy 'em.
You'll not get any more.

(And even then NV only, and outside of "certain hardware set" you'll need falls backs as things like DrawID don't work and maybe never will for certain hardware - which is why I'd like MultiDrawIndirect but, if the hardware can't do useful things with it, I won't be too upset with multi-thread command buffer building and just normal DrawIndirect calls.)

Share this post


Link to post
Share on other sites
3Ddreamer    3826

A couple questions...

 

Given that the drumbeat to kill 32-bit OS is louder each day, is this an issue with D12? Is there any possibility that Microsoft with DX 12 finally pulls the life-support system on 32-bit (I am exaggerating, fecicious.)

 

Is DDR-5 and the coming DDR after that (7?) having any weight at all in DX12 development decisions?

Share this post


Link to post
Share on other sites
mhagain    13430

A couple questions...

 

Given that the drumbeat to kill 32-bit OS is louder each day, is this an issue with D12? Is there any possibility that Microsoft with DX 12 finally pulls the life-support system on 32-bit (I am exaggerating, fecicious.)

 

Is DDR-5 and the coming DDR after that (7?) having any weight at all in DX12 development decisions?

 

Unlikely if the mobile and tablet world is still largely 32-bit.  MS have invested heavily in these markets and don't seem too likely to throw away that investment just yet.

Share this post


Link to post
Share on other sites
JDX_John    292

There is absolutely no way they will add DX12 support to Windows 7. If it's truly 18 months away, I doubt we'll see it in Windows 8. MS do not like releasing new tech to older OS, presumably at least partly because it removes an incentive to upgrade. We saw this with DX10 on Vista when everybody was still using XP.

Share this post


Link to post
Share on other sites
mhagain    13430

There is absolutely no way they will add DX12 support to Windows 7. If it's truly 18 months away, I doubt we'll see it in Windows 8. MS do not like releasing new tech to older OS, presumably at least partly because it removes an incentive to upgrade. We saw this with DX10 on Vista when everybody was still using XP.

 

...but yet they released DX11 to Vista, which gave some indication that their stance had mellowed, at least for that time.  We also need to consider that the new CEO may have his own ideas about what the right thing to do is.

Share this post


Link to post
Share on other sites
_the_phantom_    11250

...but yet they released DX11 to Vista, which gave some indication that their stance had mellowed, at least for that time.  We also need to consider that the new CEO may have his own ideas about what the right thing to do is.


Yeah; the fact is that XP was a legacy product and pulling back all the infrastructure to get DX10 running on it simply wouldn't have been worth the cost of doing so.

DX11 is a different matter as the driver model was largely the same, although I won't argue that the 11.1/11.2 Win8/8.1 only stuff was a bit of a dick move which pretty much means it'll never get widely used.

This time around developers have kicked up a fuss about DX12 being on Win7 (and they haven't said "no" yet where as before it was very upfront) and about the overhead of DX11 being a problem. Faced with some mounting pressure from other OSes and a change of leadership it could very well end up being on Win7 'in some form'.

It's a bit of a 'wait and see' game but with devs still firmly entrenched in Win7 it might be a case that for mass market they HAVE to support it or people will just stick with DX11 as their machines support nothing else.

Share this post


Link to post
Share on other sites
JDX_John    292

However if this comes out with W9, supporting a two-generations old W7 still seems very unlikely. You can tell even supporting newer versions of Internet Explorer on W7 isn't likely to last that long!

Share this post


Link to post
Share on other sites
TheChubu    9452


Except Win7 got the new version of IE; it even involved back-porting some of DX11.1 to support it so I wouldn't rule it out still.
I doubt IE needed very advanced features though. Unless they did their webpage rendering with sparse textures or something lol

Share this post


Link to post
Share on other sites
Hodgman    51234
I really hope they do support Win7, otherwise it'll be neglected for an extra 5 years until gamers all upgrade to 8/9/...

Either way, consider me hyped. They really are bringing PC APIs much closer to console APIs - actual multithreading, DIY resources, thin resource headers -- with just the necessary level of abstraction for portability. In the meantime, Mantle is basically a D3D12 preview ;)
I've actually spent the past week redesigning my engine to more closely match the D3D12/Mantle way of doing things, and emulating the new design all the way back to D3D9 ^_^

Share this post


Link to post
Share on other sites
Krohm    5030

Based on my preliminary, incomplete understanding of D3D12.

I think there's chance the market will have to split, with non-performance critical apps staying D3D11 and therefore being not "up to snuff". Fortunately this isn't likely a problem for them.

 

I have personally been in love with display command lists since they were released on OpenGL 1.0 Direct3D 10 so I see some not-yet-quantifiable benefit in moving however with performance being not an issue for me this benefit is purely architectural. I'll need to see it released to understand if it's worth biting the bullet. I also build objects similar to Pipeline State Objects, as well as the saved bindings so there's some chance going D3D12 might result in smaller code for me or at least in moving it to more controllable sections.

 

I am wondering however how those "awesome" companies not understanding their trade will fare. You know, those who want the newest stickers (usually big proponents of GL since the API never changes). Those are going to have a nasty surprise! smile.png

Share this post


Link to post
Share on other sites
3Ddreamer    3826

Every recent version of D3 had its "selling points", so it will be interesting to see exactly how the big players market this one, especially to the gamers who they claim will benefit from this.  I believe that OpenGL is in real danger of getting so far behind in the mind of people that it permanently loses the publicity race with D3D/DirectX.  Could that relegate OpenGL to only nerdy software for niche business needs with ugly user interfaces typical from pure coders? (Being sarcastic) 

 

On the other hand, gamers always want more content and better looking at that  - all the time - so it will be also interesting to see how the new API will impact games in that area of the amount and quality of art. They want 200 FPS to impress their friends, too, which is far beyond necessary.  Of course, for most game developers the "trickle down economics" of all this is more like an occasional drop that hits them in the eye by accident.  blink.png  

Share this post


Link to post
Share on other sites

If DX12 is as amazing as it's hyped up to be and truly a next generational leap in regards to power distribution, I can't see OpenGL being that attractive going forward.

 

I'm curious to see if DX12 blows away competition, will the enthusiasts knowingly not upgrade to Windows 8 or 9 (I don't think full support is coming to Windows 7). Will enthusiasts try to downplay the improvements in an attempt at making excuses for why SteamOS is the more attractive route? For all the hate that Microsoft gets because of Metro, if DX12 truly does impact performance like they're claiming, I can't see the gaming world's excuses being sound.

 

I also think the Universal App approach, including the XB1 support as being another potential driving force for DX12 to succeed. Which brings up a question I had. How does DX12 impact the PS4? From what I understand, they went with OpenGL and wrote a wrapper for DX 11.1 features. Would the PS4 be given the full benefit of DX12 like how XB1 will or is Sony resigned to getting a half assed version? To me, that could be very impactful since the PS4 is currently selling more and may be the lead platform going forward.

Share this post


Link to post
Share on other sites
Hodgman    51234

I also think the Universal App approach, including the XB1 support as being another potential driving force for DX12 to succeed. Which brings up a question I had. How does DX12 impact the PS4? From what I understand, they went with OpenGL and wrote a wrapper for DX 11.1 features. Would the PS4 be given the full benefit of DX12 like how XB1 will or is Sony resigned to getting a half assed version? To me, that could be very impactful since the PS4 is currently selling more and may be the lead platform going forward.

Sony does not use GL... :-/
The ps3, vita and ps4 APIs are called GCM, GXM and GNM.

The PS4 API (which is neither D3D nor GL) is already more capable than Dx12 (and Dx11.2). In fact, the features that Dx12 is bringing to PC are features that the APIs on PS3/360 allow! Dx12/Mantle are (finally) bringing console-style graphics programming to PC.

Also, the Xbone, like every console, has a customized API designed specifically around a single GPU. So if MS ports Dx12 to Xbone, you can be sure there'll be some Xbone specific changes/features available on that port ;-)

Share this post


Link to post
Share on other sites
mhagain    13430

"Sony uses OpenGL" has to be one of the most commonly quoted pieces of misinformation on the Internet. I don't even know where it comes from. 

 

The wolfire blog post is the first place I recall seeing it, and that post seems to have gone viral among the "OpenGL everywhere!" crew.

Share this post


Link to post
Share on other sites
mhagain    13430

 

[
The wolfire blog post is the first place I recall seeing it, and that post seems to have gone viral among the "OpenGL everywhere!" crew.

ugh. He even says that Nintendo use GL (no) and fails to point out the difference between GL and GLES...

 

 

I'm not sure it's relevant but it's mildly amusing to point out that this is the same person who wrote this: http://www.gamedev.net/topic/649121-unmaintainable-code/

Share this post


Link to post
Share on other sites
_the_phantom_    11250

[
The wolfire blog post is the first place I recall seeing it, and that post seems to have gone viral among the "OpenGL everywhere!" crew.

ugh. He even says that Nintendo use GL (no) and fails to point out the difference between GL and GLES...


I wrote a long rebuttal blog for that entry when I first saw it... I think that might have Slashdot'd site back in the day happy.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this