DirectX 12 Has No More Secrets

The DirectX 12 API is finalized and the last of its features are known. Before the BUILD conference, the list consisted of Conservative Rasterization, Rasterizer Ordered Viewed, Typed UAV Load, Volume Tiled Resources, and a new Tiled Resources revision for non-volumetric content. When the GeForce GTX 980 launched, NVIDIA claimed it would be compatible with DirectX 12 features. Enthusiasts were skeptical, because Microsoft did not officially finalize the spec at the time.

We already knew that Multiadapter existed, at least to some extent. It is the part of the specification that allows developers to address multiple graphics adapters to split tasks between them. In DirectX 11 and earlier, secondary GPUs would remain idle unless the graphics driver sprinkled some magic fair dust on it with SLI, CrossFire, or Hybrid CrossFire. The only other way to access this dormant hardware was by spinning up an OpenCL (or similar compute API) context on the side.

Microsoft has added DirectX 12 with the latest Windows 10 Technical Preview that was released today. Until today, DXDIAG reported DirectX 11 in the Windows 10 Technical Preview. At the moment, there has not been any drivers or software released for it, and the SDK is also no-where to be found. Really, all this means is that one barrier has been lifted, leaving the burden on hardware and software partners (except to release the SDK, that's still Microsoft's responsibility).

No-one needs to know how old my motherboard is...

Note: I have already experienced some issues with Build 9926. Within a half hour of using it, I suffered an instant power-down. There was not even enough time for a bluescreen. When it came back, my Intel GPU (which worked for a few minutes after the update) refused to be activated, along with the monitor it is attached to. My point? Not for production machines.

Update: Looks like a stick of RAM (or some other hardware) blew, coincidentally, about 30 minutes after the update finished, while the computer was running, which also confused my UEFI settings. I haven't got around to troubleshooting much, but it seems like a weirdly-timed, abrupt hardware failure (BIOS is only reporting half of the RAM installed, iGPU is "enabled" but without RAM associated to it, etc.).

The interesting part, to me, is how Microsoft pushed DX12 into this release without, you know, telling anyone. It is not on any changelog that I can see, and it was not mentioned anywhere in the briefing as potentially being in an upcoming preview build. Before the keynote, I had a theory that it would be included but, after the announcement, figured that it might be pushed until GDC or BUILD (but I kept an open mind). The only evidence that it might come this month was an editorial on Forbes that referenced a conversation with Futuremark, who allegedly wanted to release an update to 3DMark (they hoped) when Microsoft released the new build. I could not find anything else, so I didn't report on it -- you would think that there would be a second source for that somewhere. It turns out that he might be right.

The new Windows 10 Technical Preview, containing DirectX 12, is available now from the preview build panel. It looks like Futuremark (and maybe others) will soon release software for it, but no hardware vendor has released a driver... yet.

Introducing Windows 10 (Again)

I did not exactly make too many unsafe predictions, but let's recap the Windows 10 Consumer announcement anyway. The briefing was a bit on the slow side, at least if you are used to E3 keynotes, but it contained a fair amount of useful information. Some of the things discussed are future-oriented, but some will arrive soon. So let's get right into it.

Price and Upgrade Options

Microsoft has not announced an official price for Windows 10, if the intent is to install it on a new PC. If you are attempting to upgrade a machine that currently runs Windows 7 or Windows 8.1, then that will be a free upgrade if done within the first year. Windows Phone 8.1 users are also eligible for a no-cost upgrade to Windows 10 if done in the first year.

Quote Terry Myerson of Microsoft, “Once a device is upgraded to Windows 10, we will be keeping it current for the supported lifetime of the device.” This is not elaborated on, but it seems like a weird statement given what we have traditionally expected from Windows. One possible explanation is that Microsoft intends for Windows to be a subscription service going forward, which would be the most obvious extension of “Windows as a Service”. On the other hand, they could be going for the per-device revenue option with Bing, Windows Store, and other initiatives being long tail. If so, I am a bit confused about what constitutes a new device for systems that are regularly upgraded, like what our readers are typically interested in. All of that will eventually be made clear, but not yet.

A New Build for Windows 10

Late in the keynote, Microsoft announced the availability of new preview builds for Windows 10. This time, users of Windows Phone 8.1 will also be able to see the work in progress. PC “Insiders” will get access to their build “in the next week” and phones will get access “in Feburary”. Ars Technica seems to believe that this is scheduled for Sunday, February 1st, which is a really weird time to release a build but their source might be right.

We don't know exactly what will be in it, though. In my predictions, I guessed that a DirectX 12 SDK might be available (or at least some demos) in the next build. That has not been mentioned, which probably would have been if it were true. I expect the next possibility (if we're not surprised in the next one-to-ten days when the build drops) is Game Developers Conference (GDC 2015), which starts on March 2nd.

The New Web Browser: Project Spartan

My guess was that Spartan would be based on DirectX 12. Joe Belfiore said that it is using a new, standards-compliant rendering engine and basically nothing more. The event focused on specific features. The first is note taking, which basically turns the web browser into a telestrator that can also accept keyboard comment blocks. The second is a reading mode that alters content into a Microsoft Word-like column. The third is “reading lists”, which is basically a “read it later” feature that does offline caching. The fourth is Adobe PDF support, which works with the other features of Spartan such as note taking and reading lists.

Which Transitions Into Cortana

The fifth feature of Spartan is Cortana integration, which will provide auto-suggestions based on the information that the assistant software has. The example they provided was auto-suggesting the website for his wife's flight. Surprisingly, when you attempt to control a Spartan, Cortana does not say “There's two of us in here now, remember?” You know, in an attempt to let you know she's service that's integrated into the browser.

Otherwise, it's an interesting demo. I might even end up using it when it comes out, but these sorts of things do not really interest me too much. We have been at the point where, for my usage, the operating system is really not in the way anymore. It feels like there is very little friction between me and getting what I want done, done. Of course, people felt that way about rotary phones until touch-tone came out, and I keep an open mind to better methods. It's just hard to get me excited about voice-activated digital assistants.

Gaming Features

As I stated before, DirectX 12 was mentioned but a release date was not confirmed. What they did mention was a bit of relative performance. DirectX 12 supposedly uses about half of the power consumption of DirectX 11, which is particularly great for mobile applications. It can also handle scenes with many more objects. A FutureMark demo was displayed, with the DirectX 11 version alongside a DirectX 12 version. The models seem fairly simple, but the DirectX 12 version appears to running at over 100 FPS when the DirectX 11 version outright fails.

Other gaming features were mentioned. First, Windows 10 will allow shadow recording the last 30 seconds of footage from any game. You might think that NVIDIA would be upset about that, and they might be, but that is significantly less time than ShadowPlay or other recording methods. Second, Xbox One will be able to stream gameplay to any PC in your house. I expect this is the opposite direction than what people hope for, rather wishing for high-quality PC footage to be easily streamed to TVs with a simple interface. It will probably serve a purpose for some use case, though.

In Summary

Well that was a pretty long event, clocking in at almost two-and-a-half hours. The end had a surprise announcement of an augmented reality (not virtual reality) headset, called the “HoloLens”, which is developed by the Kinect team. I am deliberately not elaborating on it because I was not at the event and I have not tried it. I will say that the most interesting part about it, for me, is the Skype integration, because that probably hints at Microsoft's intentions with the product.

For the rest of us, it touched on a number of interesting features but, like the Enterprise event, did not really dive in. It would have been nice to get some technical details about DirectX 12, but that obviously does not cater to the intended audience. Unless an upcoming build soft-launches a DirectX 12 preview (or Spartan) so that we can do our own discovery, we will probably need to wait until GDC and/or BUILD to find out more.

Microsoft will hold a briefing tomorrow (Wednesday, January 21st at 12pm EST/5pm UTC) about “The Next Chapter” of Windows 10. This has been described as the Consumer keynote, mirroring the original one that was supposedly intended for the enterprise. Otherwise, there are few official comments regarding the event, but there are also things that we can speculate on.

Here is what I expect to see:

A New Build for Windows 10

Maybe it will not be released on the same day as the speech, but it cannot really be too far behind. We are about two-thirds through January and December was skipped, so it must be happening soon. When 9879 was released, Microsoft said that it would be the last build of 2014 and that “We'll have something new to share with you early in 2015”. Whatever that is (or those things are) will probably be discussed at the event, which means that the build is probably not too far behind it.

DirectX 12

When the graphics API was announced, they specifically said the following (see our recap for the second slide that was posted at 10:48am PST):

Targeting Holiday 2015 games

Preview release coming later this year

Don't want to wait that long? Early access!

The preview release later in 2014 did not happen, but the early access did. As such, I am guessing that the date slipped to either the next Windows 10 build, or maybe a build or two after. Whenever it happens specifically, I am guessing that it will be mentioned at this event and available for developers soon (and not just a hand-picked group of Early Access members). Sure, it could wait until Build 2015 in April, but the original slide sounds like they were targeting the end of 2014.

Also, the DirectX 12 Twitter Account just retweeted the live stream and Phil Spencer will be there.

'Spartan' Browser (Maybe with DirectX 12 Support?)

Speaking of DirectX 12, its goal is to utilize GPU shader cores as efficiently as possible, reducing the time it holds up the CPU and balancing its load across multiple cores. This leads to power efficiency and the ability to load many more tasks on the GPU.

These are all things that a web browser vendor would love! Web standards are inherently difficult to multi-thread, because they are designed as sets of stages which build upon other stages. DirectX 12 could probably help immensely, at least with the drawing stage. Web content tends to be fairly simple, but there can be a lot of it, especially for complex Canvas animations (and especially for mobile devices).

It was also recently rumored that Trident, the rendering engine behind Internet Explorer and the not-quite-confirmed Spartan browser, was forked into two maintained versions. The expectation is that this was for compatibility reasons, where the new version can be developed to W3C (and other) standards without worrying about legacy, Internet Explorer-based compatibility cruft. If porting a DirectX 11 applications to DirectX 12 will be annoying, I can see why Microsoft chose to draw the compatibility line just behind that initiative. And honestly, how many people care about rendering, power, and multi-core performance increases for IE8-designed, and therefore desktop-based, web applications?

Continuum, Cortana, and Other Changes

Again, this is what Microsoft considers a Consumer event. As such, it would make sense for them to describe an ideal consumer device, which probably includes two-in-ones. Cortana should also be discussed as well, which is intended to bring value to the users and probably lead them to Bing services. Leaks have also suggested that they are preparing a dark theme.

A Microsoft blog posting confirms: "The final version of Windows 10 will ship with DirectX 12". To me, this seems like a fairly obvious statement. The loose dates provided for both the OS and the availability of retail games suggest that the two would be launching at roughly the same time. The article also claims that DirectX 12 "Early Access" members will be able to develop with the Windows 10 Technical Preview. Apart from Unreal Engine 4 (for Epic Games subscribers), Intel will also provide source access to their Asteroids demo, shown at Siggraph 2014, to all accepted early access developers.

Our readers might find this information slightly disappointing as it could be interpreted that DirectX 12 would not be coming to Windows 7 (or even 8.x). While it does not look as hopeful as before, they never, at any point, explicitly say that it will not come to older operating systems. It still might.

Microsoft and NVIDIA has decided to release some information about DirectX 12 (and DirectX 11.3) alongside the launch of the Maxwell-based GeForce GTX 980 and GeForce GTX 970 graphics cards. Mostly, they announced that Microsoft teamed up with Epic Games to bring DirectX 12 to Unreal Engine 4. They currently have two demos, Elemental and Infiltrator, that are up and running with DirectX 12.

Moreover, they have provided a form for developers who are interested in "early access" to apply for it. They continually discuss it in terms of Unreal Engine 4, but they do not explicitly say that other developers cannot apply. UE4 subscribers will get access to the Elemental demo in DX12, but it does not look like Infiltrator will be available.

Along with GDC Europe and Gamescom, Siggraph 2014 is going on in Vancouver, BC. At it, Intel had a DirectX 12 demo at their booth. This scene, containing 50,000 asteroids, each in its own draw call, was developed on both Direct3D 11 and Direct3D 12 code paths and could apparently be switched while the demo is running. Intel claims to have measured both power as well as frame rate.

Variable power to hit a desired frame rate, DX11 and DX12.

The test system is a Surface Pro 3 with an Intel HD 4400 GPU. Doing a bit of digging, this would make it the i5-based Surface Pro 3. Removing another shovel-load of mystery, this would be the Intel Core i5-4300U with two cores, four threads, 1.9 GHz base clock, up-to 2.9 GHz turbo clock, 3MB of cache, and (of course) based on the Haswell architecture.

While not top-of-the-line, it is also not bottom-of-the-barrel. It is a respectable CPU.

Intel's demo on this processor shows a significant power reduction in the CPU, and even a slight decrease in GPU power, for the same target frame rate. If power was not throttled, Intel's demo goes from 19 FPS all the way up to a playable 33 FPS.

Intel will discuss more during a video interview, tomorrow (Thursday) at 5pm EDT.

Maximum power in DirectX 11 mode.

For my contribution to the story, I would like to address the first comment on the MSDN article. It claims that this is just an "ideal scenario" of a scene that is bottlenecked by draw calls. The thing is: that is the point. Sure, a game developer could optimize the scene to (maybe) instance objects together, and so forth, but that is unnecessary work. Why should programmers, or worse, artists, need to spend so much of their time developing art so that it could be batch together into fewer, bigger commands? Would it not be much easier, and all-around better, if the content could be developed as it most naturally comes together?

That, of course, depends on how much performance improvement we will see from DirectX 12, compared to theoretical max efficiency. If pushing two workloads through a DX12 GPU takes about the same time as pushing one, double-sized workload, then it allows developers to, literally, perform whatever solution is most direct.

Maximum power when switching to DirectX 12 mode.

If, on the other hand, pushing two workloads is 1000x slower than pushing a single, double-sized one, but DirectX 11 was 10,000x slower, then it could be less relevant because developers will still need to do their tricks in those situations. The closer it gets, the fewer occasions that strict optimization is necessary.

If there are any DirectX 11 game developers, artists, and producers out there, we would like to hear from you. How much would a (let's say) 90% reduction in draw call latency (which is around what Mantle claims) give you, in terms of fewer required optimizations? Can you afford to solve problems "the naive way" now? Some of the time? Most of the time? Would it still be worth it to do things like object instancing and fewer, larger materials and shaders? How often?

When Magma Freezes Over...

Intel confirms that they have approached AMD about access to their Mantle API. The discussion, despite being clearly labeled as "an experiment" by an Intel spokesperson, was initiated by them -- not AMD. According to AMD's Gaming Scientist, Richard Huddy, via PCWorld, AMD's response was, "Give us a month or two" and "we'll go into the 1.0 phase sometime this year" which only has about five months left in it. When the API reaches 1.0, anyone who wants to participate (including hardware vendors) will be granted access.

AMD inside Intel Inside???

I do wonder why Intel would care, though. Intel has the fastest per-thread processors, and their GPUs are not known to be workhorses that are held back by API call bottlenecks, either. Of course, that is not to say that I cannot see any reason, however...

DX11 could rival Mantle

The big story at GDC last week was Microsoft’s reveal of DirectX 12 and the future of the dominant API for PC gaming. There was plenty of build up to the announcement with Microsoft’s DirectX team posting teasers and starting up a Twitter account of the occasion. I hosted a live blog from the event which included pictures of the slides. It was our most successful of these types of events with literally thousands of people joining in the conversation. Along with the debates over the similarities of AMD’s Mantle API and the timeline for DX12 release, there are plenty of stories to be told.

After the initial session, I wanted to setup meetings with both AMD and NVIDIA to discuss what had been shown and get some feedback on the planned direction for the GPU giants’ implementations. NVIDIA presented us with a very interesting set of data that both focused on the future with DX12, but also on the now of DirectX 11.

The reason for the topic is easy to decipher – AMD has built up the image of Mantle as the future of PC gaming and, with a full 18 months before Microsoft’s DirectX 12 being released, how developers and gamers respond will make an important impact on the market. NVIDIA doesn’t like to talk about Mantle directly, but it’s obvious that it feels the need to address the questions in a roundabout fashion. During our time with NVIDIA’s Tony Tamasi at GDC, the discussion centered as much on OpenGL and DirectX 11 as anything else.

What are APIs and why do you care?

For those that might not really understand what DirectX and OpenGL are, a bit of background first. APIs (application programming interface) are responsible for providing an abstraction layer between hardware and software applications. An API can deliver consistent programming models (though the language can vary) and do so across various hardware vendors products and even between hardware generations. They can provide access to feature sets of hardware that have a wide range in complexity, but allow users access to hardware without necessarily knowing great detail about it.

Over the years, APIs have developed and evolved but still retain backwards compatibility. Companies like NVIDIA and AMD can improve DirectX implementations to increase performance or efficiency without adversely (usually at least) affecting other games or applications. And because the games use that same API for programming, changes to how NVIDIA/AMD handle the API integration don’t require game developer intervention.

With the release of AMD Mantle, the idea of a “low level” API has been placed in the minds of gamers and developers. The term “low level” can mean many things, but in general it is associated with an API that is more direct, has a thinner set of abstraction layers, and uses less translation from code to hardware. The goal is to reduce the amount of overhead (performance hit) that APIs naturally impair for these translations. With additional performance available, the CPU cycles can be used by the program (game) or be slept to improve battery life. In certain cases, GPU throughput can increase where the API overhead is impeding the video card's progress.

Passing additional control to the game developers, away from the API or GPU driver developers, gives those coders additional power and improves the ability for some vendors to differentiate. Interestingly, not all developers want this kind of control as it requires more time, more development work, and small teams that depend on that abstraction to make coding easier will only see limited performance advantages.

The reasons for this transition to a lower level API is being driven the by widening gap of performance between CPU and GPUs. NVIDIA provided the images below.

On the left we see performance scaling in terms of GFLOPS and on the right the metric is memory bandwidth. Clearly the performance of NVIDIA's graphics chips has far outpaced (as have AMD’s) what the best Intel desktop processor have been able and that gap means that the industry needs to innovate to find ways to close it.

The room is much smaller than it should be. Line was way too long for a room like this.

Thursday March 20, 2014 10:00 Ryan Shrout

10:01

Josh Walrath:

that is a super small room for such an event. Especially considering the online demand for details!

Thursday March 20, 2014 10:01 Josh Walrath

10:02

Ryan Shrout

Qualcomm's Eric Demers, AMD's Raja Koduri, NVIDIA's Tony Tamasi.

Thursday March 20, 2014 10:02

10:03

Ryan Shrout:

And we are starting!

Thursday March 20, 2014 10:03 Ryan Shrout

10:03

Josh Walrath:

Have those boys gotten their knives out yet. Are the press circling them and snapping their fingers?

Thursday March 20, 2014 10:03 Josh Walrath

10:03

Ryan Shrout:

Going over a history of DX.

Thursday March 20, 2014 10:03 Ryan Shrout

10:03

Ryan Shrout

Thursday March 20, 2014 10:03

10:04

Ryan Shrout:

Talking about the development process.

Thursday March 20, 2014 10:04 Ryan Shrout

10:04

Ryan Shrout:

All partner base.

Thursday March 20, 2014 10:04 Ryan Shrout

10:04

Ryan Shrout

Thursday March 20, 2014 10:04

10:05

[Comment From GuestGuest: ]

why cant I comment ?

Thursday March 20, 2014 10:05 Guest

10:05

Ryan Shrout:

GPU performance is "embarrassing parallel" statement here.

Thursday March 20, 2014 10:05 Ryan Shrout

10:05

Scott Michaud:

You can, we just need to publish them. And there's *a lot* of comments.

Thursday March 20, 2014 10:05 Scott Michaud

10:05

Ryan Shrout

Thursday March 20, 2014 10:05

10:05

Josh Walrath:

We see everything, Peter.

Thursday March 20, 2014 10:05 Josh Walrath

10:05

Ryan Shrout:

CPU performance has not improved at the same rate. This difference rate of increase is a big challenge for DX.

Thursday March 20, 2014 10:05 Ryan Shrout

10:06

Ryan Shrout:

Third point has been a challenge, until now.

Thursday March 20, 2014 10:06 Ryan Shrout

10:07

Ryan Shrout:

What do developers want? List similar to what AMD presented with Mantle.

Thursday March 20, 2014 10:07 Ryan Shrout

10:07

Ryan Shrout:

DX12 "is no dot release"

Thursday March 20, 2014 10:07 Ryan Shrout

10:08

Ryan Shrout

Thursday March 20, 2014 10:08

10:08

Ryan Shrout:

It faster, more direct. ha ha.

Thursday March 20, 2014 10:08 Ryan Shrout

10:08

Ryan Shrout

Thursday March 20, 2014 10:08

10:08

Ryan Shrout:

Xbox One games will see improved performance. Coming to all MS platforms. PC, mobile too.

Thursday March 20, 2014 10:08 Ryan Shrout

10:08

Josh Walrath:

Oh look, mobile!

Thursday March 20, 2014 10:08 Josh Walrath

10:09

Ryan Shrout

Thursday March 20, 2014 10:09

10:09

Ryan Shrout:

New tools are a requirement.

Thursday March 20, 2014 10:09 Ryan Shrout

10:09

Josh Walrath:

We finally have a MS answer to OpenGL ES.

Thursday March 20, 2014 10:09 Josh Walrath

10:09

Scott Michaud:

Hmm, none of the four pictures in the bottom is a desktop or Laptop.

Thursday March 20, 2014 10:09 Scott Michaud

10:09

Ryan Shrout:

D3D 12 is the first version to go much lower level.

Thursday March 20, 2014 10:09 Ryan Shrout

10:09

[Comment From GuestGuest: ]

The last one is a desktop...

Thursday March 20, 2014 10:09 Guest

10:10

Scott Michaud:

Huh, thought it was TV. My mistake.

Thursday March 20, 2014 10:10 Scott Michaud

10:10

Ryan Shrout

Thursday March 20, 2014 10:10

10:10

Ryan Shrout:

Yeah, desktop PC is definitely on the list here guys.

Thursday March 20, 2014 10:10 Ryan Shrout

10:11

Ryan Shrout:

Going to show us some prototypes.

Thursday March 20, 2014 10:11 Ryan Shrout

10:11

Ryan Shrout:

Ported latest 3DMark.

Thursday March 20, 2014 10:11 Ryan Shrout

10:12

Ryan Shrout:

In DX11, one core is doing most of the work.

Thursday March 20, 2014 10:12 Ryan Shrout

10:12

Ryan Shrout:

on d3d12, overall CPU utilization is down 50%

Thursday March 20, 2014 10:12 Ryan Shrout

10:13

Ryan Shrout:

Also, the workload is more spread out.

Thursday March 20, 2014 10:13 Ryan Shrout

10:13

Ryan Shrout

Thursday March 20, 2014 10:13

10:13

Ryan Shrout:

Interesting data for you all!!

Thursday March 20, 2014 10:13 Ryan Shrout

10:13

Ryan Shrout

Thursday March 20, 2014 10:13

10:14

Ryan Shrout:

Grouping entire pipeline state into state objects. These can be mapped very efficiently to GPU hardware.

Thursday March 20, 2014 10:14 Ryan Shrout

10:14

Ryan Shrout

Thursday March 20, 2014 10:14

10:15

Ryan Shrout:

"Solved" multi-threaded scalability.

Thursday March 20, 2014 10:15 Ryan Shrout

10:15

Scott Michaud:

Hmm, from ~8ms to ~4. That's an extra 4ms for the GPU to work. 20 GFLOPs for a GeForce Titan.

Thursday March 20, 2014 10:15 Scott Michaud

10:15

[Comment From JayJay: ]

Multicore Scalability.... Seems like a big deal when you have 6-8 cores!

Thursday March 20, 2014 10:15 Jay

10:16

Josh Walrath:

It is a big deal for the CPU guys.

Thursday March 20, 2014 10:16 Josh Walrath

10:16

Ryan Shrout:

D3D12 allows apps to control graphics memory better.

Thursday March 20, 2014 10:16 Ryan Shrout

10:16

Ryan Shrout

Thursday March 20, 2014 10:16

10:17

Ryan Shrout:

API is now much lower level. Application tracks pipeline status, not the API.

Thursday March 20, 2014 10:17 Ryan Shrout

10:17

[Comment From JimJim: ]

20 GFlops from a Titan? Stock Titan gets around 5 ATM.

Thursday March 20, 2014 10:17 Jim

10:17

Ryan Shrout

Thursday March 20, 2014 10:17

10:18

Ryan Shrout:

Less API and driver tracking universally. More more predictability.

Thursday March 20, 2014 10:18 Ryan Shrout

10:18

Ryan Shrout:

This is targeted at the smartest developers, but gives you unprecedented performance.

Thursday March 20, 2014 10:18 Ryan Shrout

10:18

Ryan Shrout:

Also planning to advance state of rendering features. Feature level 12.

Thursday March 20, 2014 10:18 Ryan Shrout

10:19

Scott Michaud:

Titan gets around ~5 Teraflops, actually... if it is fully utilized. I'm saying that an extra 4ms is an extra 20 GFlops per frame.

Thursday March 20, 2014 10:19 Scott Michaud

10:19

Ryan Shrout

Thursday March 20, 2014 10:19

10:19

Josh Walrath:

Titan is around 5 TFlops total, that 20 GFLOPS is potential performance in the time gained by optimizations.

Thursday March 20, 2014 10:19 Josh Walrath

10:19

Ryan Shrout:

Better collision and culling

Thursday March 20, 2014 10:19 Ryan Shrout

10:19

Ryan Shrout:

Constantly working with GPU vendors to find new ways to render.

Thursday March 20, 2014 10:19 Ryan Shrout

10:20

Ryan Shrout:

Forza 5 on stage now. Strictly console developer.

Thursday March 20, 2014 10:20 Ryan Shrout

10:20

[Comment From Lewap PawelLewap Pawel: ]

So 20GFLOPS per frame is 20x60 = 1200GFLOPS/sec? 20% improvement?

Thursday March 20, 2014 10:20 Lewap Pawel

10:21

Ryan Shrout

Thursday March 20, 2014 10:21

10:21

Scott Michaud:

Not quite, because we don't know how many FPS we had originally.

Thursday March 20, 2014 10:21 Scott Michaud

10:21

Ryan Shrout:

Talking about porting the game to D3D12

Thursday March 20, 2014 10:21 Ryan Shrout

10:22

Ryan Shrout:

4 man-months effort to port core rendering engine.

Thursday March 20, 2014 10:22 Ryan Shrout

10:22

Ryan Shrout:

Demo time!

Thursday March 20, 2014 10:22 Ryan Shrout

10:22

Ryan Shrout

Thursday March 20, 2014 10:22

10:22

Ryan Shrout:

Rendering at static 60 FPS.

Thursday March 20, 2014 10:22 Ryan Shrout

10:23

Ryan Shrout

Thursday March 20, 2014 10:23

10:23

Ryan Shrout:

Bundles allows for instancing but with variance.

Thursday March 20, 2014 10:23 Ryan Shrout

10:24

Ryan Shrout:

Resource lifetime, track memory directly. No longer have D3D tracking that lifetime, much cheaper on resources.

Thursday March 20, 2014 10:24 Ryan Shrout

10:24

Ryan Shrout:

"It's all up to us, and that's how we like it."

Thursday March 20, 2014 10:24 Ryan Shrout

10:24

Ryan Shrout:

Does anyone else here worry that DX12 might leave out some smaller devs that can't go so low level?

Thursday March 20, 2014 10:24 Ryan Shrout

10:25

Josh Walrath:

I would say that depends on the quality of tools that MS provides, as well as IHV support.

Thursday March 20, 2014 10:25 Josh Walrath

10:25

Scott Michaud:

Not really, for me. The reason why they can go so much lower these days is because what is lower is more consistent.

Thursday March 20, 2014 10:25 Scott Michaud

10:26

Ryan Shrout:

And now back to info. Will you have to buy new hardware? I would say no since they just showed Xbox One... lol

Thursday March 20, 2014 10:26 Ryan Shrout

10:26

[Comment From killeakkilleak: ]

Small devs will use an Engine, not make their own.

Thursday March 20, 2014 10:26 killeak

10:26

Ryan Shrout

Thursday March 20, 2014 10:26

10:26

Ryan Shrout:

On stage now is Raja Koduri from AMD.

Thursday March 20, 2014 10:26 Ryan Shrout

10:27

Scott Michaud:

Not true at all, actually. Just look at Frictional (Amnesia). They made their own engine tailored for what their game needed.

Thursday March 20, 2014 10:27 Scott Michaud

10:27

Ryan Shrout:

AMD has been working very closely with DX12. Heh.

Thursday March 20, 2014 10:27 Ryan Shrout

10:27

Josh Walrath:

Shocking!

Thursday March 20, 2014 10:27 Josh Walrath

10:28

Ryan Shrout

Thursday March 20, 2014 10:28

10:28

Josh Walrath:

Strike a pose!

Thursday March 20, 2014 10:28 Josh Walrath

10:28

Ryan Shrout:

There is tension: AMD is trying to push hw forward, MS is trying to push their platform forward.

Thursday March 20, 2014 10:28 Ryan Shrout

10:28

Ryan Shrout:

Very honest assessment of the current setup between AMD, NVIDIA, MS.

Thursday March 20, 2014 10:28 Ryan Shrout

10:28

[Comment From GuestGuest: ]

Scott, with the recent changes with CryEngine, UE4 going subscription based more Indies might just go that route.

Thursday March 20, 2014 10:28 Guest

10:28

Ryan Shrout:

DX12 is an area where they had the least tension in Raja's history in this field.

Thursday March 20, 2014 10:28 Ryan Shrout

10:29

Scott Michaud:

Definitely. But that is not the same thing as saying that indies will not make their own engine.

Thursday March 20, 2014 10:29 Scott Michaud

10:29

Ryan Shrout

Thursday March 20, 2014 10:29

10:29

Ryan Shrout:

Key is that current users get benefit with this API on day 1.

Thursday March 20, 2014 10:29 Ryan Shrout

10:29

Ryan Shrout:

"Like getting 4 generations of hardware ahead."

Thursday March 20, 2014 10:29 Ryan Shrout

10:29

Ryan Shrout

Thursday March 20, 2014 10:29

10:31

Josh Walrath:

That answers a few of the burning questions!

Thursday March 20, 2014 10:31 Josh Walrath

10:31

Ryan Shrout:

Up now is Eric Mentzer from Intel.

Thursday March 20, 2014 10:31 Ryan Shrout

10:31

[Comment From KevKev: ]

Thank you! Great news guys!

Thursday March 20, 2014 10:31 Kev

10:31

Scott Michaud:

You're welcome! : D

Thursday March 20, 2014 10:31 Scott Michaud

10:32

[Comment From JimJim: ]

OH, intel and AMD in the same room....

Thursday March 20, 2014 10:32 Jim

10:32

Scott Michaud:

Intel, AMD, NVIDIA, and Qualcomm in the same room...

Thursday March 20, 2014 10:32 Scott Michaud

10:32

Ryan Shrout:

Intel has made big change in graphics; put a lot more focus on it with tech and process tech.

Thursday March 20, 2014 10:32 Ryan Shrout

10:32

Josh Walrath:

DX12 will enhance any modern graphics chip. Driver support from IHVs will be key to enable those features. This is a massive change in how DX addresses the GPU, rather than (so far) the GPU adding features.

Thursday March 20, 2014 10:32 Josh Walrath

10:32

[Comment From GuestGuest: ]

so this means xbox one will get a performance boost?

Thursday March 20, 2014 10:32 Guest

10:32

Scott Michaud:

Yes

Thursday March 20, 2014 10:32 Scott Michaud

10:33

Ryan Shrout

Thursday March 20, 2014 10:33

10:33

Scott Michaud:

According to "Benefits of Direct3D 12 will extend to Xbox One", at least.

Thursday March 20, 2014 10:33 Scott Michaud

10:33

Ryan Shrout:

Intel commits to having Haswell support DX12 at launch.

Thursday March 20, 2014 10:33 Ryan Shrout

10:34

Ryan Shrout:

BTW - thanks to everyone for stopping by the live blog!! :)

Thursday March 20, 2014 10:34 Ryan Shrout

10:34

Josh Walrath:

Just to reiterate... PS4 utilizes OpenGL, not DX. This change will not affect PS4. Changes to OpenGL will only improve PS4 performance.

NVIDIA has been working with MS since the inception of DX12. Still don't know when that is...

Thursday March 20, 2014 10:35 Ryan Shrout

10:35

[Comment From AlexAlex: ]

PS4 doesn't use OpenGL, but custom APIs instead...

Thursday March 20, 2014 10:35 Alex

10:35

Scott Michaud:

True, it's not actually OpenGL... but is heavily heavily based on OpenGL.

Thursday March 20, 2014 10:35 Scott Michaud

10:36

Ryan Shrout

Thursday March 20, 2014 10:36

10:36

Ryan Shrout:

They think it should be done with standards so there is no fragmentation.

Thursday March 20, 2014 10:36 Ryan Shrout

10:36

Ryan Shrout:

lulz.

Thursday March 20, 2014 10:36 Ryan Shrout

10:37

Scott Michaud:

Because everything that ends in "x" is all about no fragmentation :p

Thursday March 20, 2014 10:37 Scott Michaud

10:37

Ryan Shrout:

NVIDIA will support DX12 on Fermi, Kepler, Maxwell and forward!

Thursday March 20, 2014 10:37 Ryan Shrout

10:37

Ryan Shrout:

For developers that want to get down deep and manage all of this, DX12 is going to be really exciting.

Thursday March 20, 2014 10:37 Ryan Shrout

10:38

Ryan Shrout:

NVIDIA represents about 55% of the install base.

Thursday March 20, 2014 10:38 Ryan Shrout

10:38

Ryan Shrout

Thursday March 20, 2014 10:38

10:38

Ryan Shrout

Thursday March 20, 2014 10:38

10:39

Ryan Shrout:

Developers already have DX12 drivers. The Forza demo was running on NVIDIA!!!

Thursday March 20, 2014 10:39 Ryan Shrout

10:39

Ryan Shrout:

Holy crap, that wasn't on an Xbox One!!

Thursday March 20, 2014 10:39 Ryan Shrout

10:39

Scott Michaud:

Fermi and forward... aligning well with the start of their compute-based architectures... using IEEE standards (etc). Makes perfect sense. Also might help explain why pre-Fermi is deprecated after GeForce 340 drivers...

Thursday March 20, 2014 10:39 Scott Michaud

10:40

Ryan Shrout:

Support quote from Tim Sweeney.

Thursday March 20, 2014 10:40 Ryan Shrout

10:41

Ryan Shrout

Thursday March 20, 2014 10:41

10:41

[Comment From CrackolaCrackola: ]

Any current NVIDIA cards DX12 ready? Titan, etc?

Thursday March 20, 2014 10:41 Crackola

10:41

Ryan Shrout:

Up now is Eric Demers from Qualcomm.

Thursday March 20, 2014 10:41 Ryan Shrout

10:42

Scott Michaud:

NVIDIA said Fermi, Kepler, and Maxwell will be DX12-ready. So like... almost everything since GeForce 400... almost.

Thursday March 20, 2014 10:42 Scott Michaud

10:42

Ryan Shrout

Thursday March 20, 2014 10:42

10:42

Ryan Shrout:

Qualcomm has been working with MS on mobile graphics since there WAS mobile graphics.

Thursday March 20, 2014 10:42 Ryan Shrout

10:42

Ryan Shrout

Thursday March 20, 2014 10:42

10:42

Ryan Shrout:

Most windows phones are powered by Snapdragon.

Thursday March 20, 2014 10:42 Ryan Shrout

10:42

Josh Walrath:

We currently don't know what changes in Direct3D will be brought to the table, all we are seeing here is how they are changing the software stack to more efficiently use modern GPUs. This does not mean that all current DX11 hardware will fully support the DX12 specification when it comes to D3D, Direct Compute, etc.

Thursday March 20, 2014 10:42 Josh Walrath

10:43

Ryan Shrout:

DX12 will improve power efficiency by reducing overhead.

Thursday March 20, 2014 10:43 Ryan Shrout

10:43

Ryan Shrout

Thursday March 20, 2014 10:43

10:44

Ryan Shrout:

Perf will improve on mobile device as well, of course. But gaming for longer periods on battery life is biggest draw.

Thursday March 20, 2014 10:44 Ryan Shrout

10:45

Ryan Shrout:

Portability - bringing titles from the PC to Xbox to mobile platform will be much easier.

Thursday March 20, 2014 10:45 Ryan Shrout

10:45

[Comment From David UyDavid Uy: ]

I think all Geforce 400 series is Fermi. so - Geforce 400 and above.

Thursday March 20, 2014 10:45 David Uy

10:45

Scott Michaud:

I think the GeForce 405 is the only exception...

Thursday March 20, 2014 10:45 Scott Michaud

10:45

Ryan Shrout:

Off goes Eric.

Thursday March 20, 2014 10:45 Ryan Shrout

10:45

Ryan Shrout:

MS back on stage.

Thursday March 20, 2014 10:45 Ryan Shrout

10:46

Ryan Shrout:

And now a group picture lol.

Thursday March 20, 2014 10:46 Ryan Shrout

10:46

Ryan Shrout

Thursday March 20, 2014 10:46

10:47

Ryan Shrout:

By the time they ship, 50% of all PC gamers will be DX12 capable.

Thursday March 20, 2014 10:47 Ryan Shrout

10:47

Ryan Shrout:

Ouch, targeting Holiday 2015 games.

Thursday March 20, 2014 10:47 Ryan Shrout

10:48

Ryan Shrout:

Early access coming later this year.

Thursday March 20, 2014 10:48 Ryan Shrout

10:48

Ryan Shrout

Thursday March 20, 2014 10:48

10:48

Josh Walrath:

Yeah, this is a pretty big sea change.

Thursday March 20, 2014 10:48 Josh Walrath

10:48

Ryan Shrout

Thursday March 20, 2014 10:48

10:49

Ryan Shrout

Thursday March 20, 2014 10:49

10:49

Scott Michaud:

50% of PC Gamers sounds like they're projecting NOT Windows 7.

Thursday March 20, 2014 10:49 Scott Michaud

10:49

Ryan Shrout:

They are up for Q&A not sure how informative they will be...

Thursday March 20, 2014 10:49 Ryan Shrout

10:50

Josh Walrath:

OS support? Extension changes to D3D/Direct Compute?

Thursday March 20, 2014 10:50 Josh Walrath

10:50

Ryan Shrout:

Windows 7 support? Won't be announcing anything today but they understand the request.

Thursday March 20, 2014 10:50 Ryan Shrout

10:51

Ryan Shrout:

Q: What about support for multi-GPU? They will have a way to target specific GPUs in a system.

Thursday March 20, 2014 10:51 Ryan Shrout

10:51

Ryan Shrout:

This session is wrapping up for now!

Thursday March 20, 2014 10:51 Ryan Shrout

10:51

Ryan Shrout:

Looks like we are light on details but we'll be catching more sessions today so check back on http://www.pcper.com/

Thursday March 20, 2014 10:51 Ryan Shrout

10:52

Scott Michaud:

"a way to target specific GPUs in a system" this sounds like developers can program their own Crossfire/SLi methods, like OpenCL and Mantle.

Thanks everyone for joining us! We MIGHT live blog the other sessions today, so you can sign up for our mailing list to find out when we go live. http://www.pcper.com/subscribe

Thursday March 20, 2014 10:52 Ryan Shrout

10:57

Scott Michaud:

Apparently NVIDIA's blog says DX12 discussion begun more than four years ago "with discussions about reducing resource overhead". They worked for a year to deliver "a working design and implementation of DX12 at GDC".