Microsoft DirectX 11.3 Revealed – The Feature Set of DX12 Minus the CPU Overhead Reduction Read mor

Blandina

Well-Known Member
Sep 12, 2013
1,769
734
1,270
Denmark
http://wccftech.com/directx-11-3-api/

Ygrin:
Microsoft DirectX 11.3 Revealed – The Feature Set of DX12 Minus the CPU Overhead Reduction


[Editorial] So something did happen at GAME24 that we had not foreseen. Or leaked. Or heard about. I am talking about the DirectX 11.3 update that Microsoft has revealed alongside DirectX 12. This seemingly redundant iteration of the API will provide most of the feature set of DX12 minus the processor overhead reduction that is the hallmark of DX12 API.

Direct3D 11.3 is a Partial DX12 with Most of the Feature Set and No Overhead Reduction
The burning question in everyone’s mind would be ‘Why’? Well, as to that I have no answer. DX12 API already works with older cards so there really is no point to introduce an even newer standard (technically older) to the Market that gives you only half of the stuff. A probable reason that comes to my mind, is that Microsoft wants to make DX 11.3 readily available and DX 12 limited to Windows 9 and above. 50% of the user base has been clinging to Windows 7 and I wont be surprised if Microsoft uses tricks like these to force migration to the new and upcoming OS. The DirectX 11.3 API will contain features that form a subset of D3D 12. So any feature you see here is automatically included in the succeeding API. The following list shows the new “Rendering Features”:

  • Ordered rasterizer View
  • Typed UAV Load
  • Volume Tiled Resources
  • Conservative grid

As most of you know, DirectX12 is a low level API which aims to lower CPU Overhead and increase GPU performance in situations which are CPU Bound. However the DirectX 11.3 API will comply with “feature levels” meaning that you can code for D3D12 and have compatibility carry over to 11.3. This was seen in DirectX 11 as well, where you code for D3D11 and have compatibility with 10 and 9 adapting automatically by code alone. Lets take look at the features one by one.

Ordered Rasterizer View or Rasterizer Ordered Views


This feature of DX 11.3 basically gives the developer control on the ‘order’ in which elements on screen are rasterized. For the tech averse, this means that objects on screen will be drawn in the correct order. This comes as an alternative to UAV which is Unordered Access Views which as you can tell from the name means there is no order. While UAV is fine in some cases, there are times when you would like to control the draw order and this is where the ROV would come in. This feature is included in DirectX 11.3. It is worth mentioning that this actually takes some of the load off the CPU, though exactly how much is not certain at this point.

Typed UAV Load


You remember the UAV I mentioned in the para above? Well one of the downsides of UAV is that there are specific restrictions in place due to its unordered nature. This feature will address those restrictions in a scenario where the UAV is data typed and will enable better handling of the same. Basically unpacking was handled on the software side, which means the job was put on the CPU to do it. Now the GPU will be able to accomplish the same thing without CPU intervention.

Volume Tiled Resources


This is my favorite feature that will be present in Direct3D 11.3. This feature deals with voxels and mega textures and sparse allocation; the bad boys of the rendering world. Volume Tiled Resources in essence are the ‘current-rendering-technique’s extension into the 3rd Dimension. They will be used in conjunction with Voxels (volumetric pixels) which for the tech averse are basically these cute little cubes used to enhance lightning. This feature will allow immense textures to be implemented while retaining the memory footprint OR drastically reduce the foot print while retaining the texture size.

Conservative Grid


At the end of the list we have a conservative rasterization feature. This will allow better and exponentially more accurate detection of polygons on screen. Now Microsoft isn’t very good with making reader-friendly slides so I will attempt to take a jab and explain this rather complex feature. Take a look at the diagram above. Notice the 4th box from the left in the top most row. Now notice that the polygon (the weird rune thingy) line is passing through a very very small part of the pixel. Under conventional rasterization this pixel will not detect the polygon. That will mean the polygon is inaccurately detected resulting in clumsy collison detection, occlusion culling and the tons of stuff mentioned in the slide above. But perhaps most importantly, and once again something that Microsoft fails to properly explain, is that this technique can be used to build voxels. Did I mention I love voxels? I am pretty sure I did. This feature will ofcourse be a more power intensive approach, but this is not really surprising since increased accuracy usually comes at a price.

Interestingly, neither Nvidia nor AMD has pledged allegiance to DirectX 11.3. Thanks to the feature leveling of this API, developers will not have to worry about providing support for it manually, it will be all-automatic. Still, I will be interested to see the response this API receives from the world. Both APIs will be released sometime in late 2015.
 
Wish I understood more of it, but it all sounds good to my limited comprehension :) I think the newer SDKs are working with this now? Only problem is it'll still take a little longer until we see the full benefits of it.
That being said, this is the perfect spot for crazy rumors! I've been in a massive withdrawal lately, but consider me officially off the wagon with this doozy from a random on Twitter:

ByPR71cCMAA555S.png


MisterX's guy (yeah, yeah I know):

"November sdk is 11.3 plus dp sdk unlock was low thread priority to high bandwidth. And had optimization for dx11 games. Dx12 tools are also in November but I can't see alot of dx11.3 games jumping on to it till next year Christmas time most studios wide down.. there will be a lot of head scratch soon. Because there is a massive power jump coming but its there is a scale factor involved and it will make developers think about there code and optimization. Its a change and some studio's will ether port forward or stay with dp and cpu benefits of dx11.3. But the ones who want rt tiled resources 2 0 hardware level will need more work. Ms unchartered killer franchise is coming along very very nice. Full tr2.0 rt and open world scale. Forza 6 has an open world dynamically designed weather system now. And cars and roads use ray tracing effects. It is hands down the most photo realistic gfx I have ever seen. There is surface displacement now. The sky box had clouds that look realistically in volume and to form. The clouds are also effected by the sun because it is dynamically effected by the rays after the rain and the sun comes out on the new metal shaders the effect is the only time my jaw dropped in this industry. I have been told that scale bound will use this weathet system. True gfx jump. "
 
The CPU optimizations of DX12 are useless as long as games continue to underuse modern CPU power in PCs. DX11.3 is thus DX12's equal.
 
help me understand... this has what to do with Xbox?
My guess is that since Xbox uses DirectX, and is getting DirectX 12, maybe there is a 11.3 DX update coming to the Xbox One? The article doesn't state that though.
 
My guess is that since Xbox uses DirectX, and is getting DirectX 12, maybe there is a 11.3 DX update coming to the Xbox One? The article doesn't state that though.
from reading above, looks like away to have some form of backwards compatibility for PC's and if DX12 (or subset thereof) on Xbox is there to make it easier to program (get more out of) on. this 11.3 won't come into it?
 
from reading above, looks like away to have some form of backwards compatibility for PC's and if DX12 (or subset thereof) on Xbox is there to make it easier to program (get more out of) on. this 11.3 won't come into it?
I don't know. The above article is chinese to me.
 
http://wccftech.com/directx-11-3-api/

Ygrin:
Microsoft DirectX 11.3 Revealed – The Feature Set of DX12 Minus the CPU Overhead Reduction


[Editorial] So something did happen at GAME24 that we had not foreseen. Or leaked. Or heard about. I am talking about the DirectX 11.3 update that Microsoft has revealed alongside DirectX 12. This seemingly redundant iteration of the API will provide most of the feature set of DX12 minus the processor overhead reduction that is the hallmark of DX12 API.

Direct3D 11.3 is a Partial DX12 with Most of the Feature Set and No Overhead Reduction
The burning question in everyone’s mind would be ‘Why’? Well, as to that I have no answer. DX12 API already works with older cards so there really is no point to introduce an even newer standard (technically older) to the Market that gives you only half of the stuff. A probable reason that comes to my mind, is that Microsoft wants to make DX 11.3 readily available and DX 12 limited to Windows 9 and above. 50% of the user base has been clinging to Windows 7 and I wont be surprised if Microsoft uses tricks like these to force migration to the new and upcoming OS. The DirectX 11.3 API will contain features that form a subset of D3D 12. So any feature you see here is automatically included in the succeeding API. The following list shows the new “Rendering Features”:

  • Ordered rasterizer View
  • Typed UAV Load
  • Volume Tiled Resources
  • Conservative grid

As most of you know, DirectX12 is a low level API which aims to lower CPU Overhead and increase GPU performance in situations which are CPU Bound. However the DirectX 11.3 API will comply with “feature levels” meaning that you can code for D3D12 and have compatibility carry over to 11.3. This was seen in DirectX 11 as well, where you code for D3D11 and have compatibility with 10 and 9 adapting automatically by code alone. Lets take look at the features one by one.

Ordered Rasterizer View or Rasterizer Ordered Views


This feature of DX 11.3 basically gives the developer control on the ‘order’ in which elements on screen are rasterized. For the tech averse, this means that objects on screen will be drawn in the correct order. This comes as an alternative to UAV which is Unordered Access Views which as you can tell from the name means there is no order. While UAV is fine in some cases, there are times when you would like to control the draw order and this is where the ROV would come in. This feature is included in DirectX 11.3. It is worth mentioning that this actually takes some of the load off the CPU, though exactly how much is not certain at this point.

Typed UAV Load


You remember the UAV I mentioned in the para above? Well one of the downsides of UAV is that there are specific restrictions in place due to its unordered nature. This feature will address those restrictions in a scenario where the UAV is data typed and will enable better handling of the same. Basically unpacking was handled on the software side, which means the job was put on the CPU to do it. Now the GPU will be able to accomplish the same thing without CPU intervention.

Volume Tiled Resources


This is my favorite feature that will be present in Direct3D 11.3. This feature deals with voxels and mega textures and sparse allocation; the bad boys of the rendering world. Volume Tiled Resources in essence are the ‘current-rendering-technique’s extension into the 3rd Dimension. They will be used in conjunction with Voxels (volumetric pixels) which for the tech averse are basically these cute little cubes used to enhance lightning. This feature will allow immense textures to be implemented while retaining the memory footprint OR drastically reduce the foot print while retaining the texture size.

Conservative Grid


At the end of the list we have a conservative rasterization feature. This will allow better and exponentially more accurate detection of polygons on screen. Now Microsoft isn’t very good with making reader-friendly slides so I will attempt to take a jab and explain this rather complex feature. Take a look at the diagram above. Notice the 4th box from the left in the top most row. Now notice that the polygon (the weird rune thingy) line is passing through a very very small part of the pixel. Under conventional rasterization this pixel will not detect the polygon. That will mean the polygon is inaccurately detected resulting in clumsy collison detection, occlusion culling and the tons of stuff mentioned in the slide above. But perhaps most importantly, and once again something that Microsoft fails to properly explain, is that this technique can be used to build voxels. Did I mention I love voxels? I am pretty sure I did. This feature will ofcourse be a more power intensive approach, but this is not really surprising since increased accuracy usually comes at a price.

Interestingly, neither Nvidia nor AMD has pledged allegiance to DirectX 11.3. Thanks to the feature leveling of this API, developers will not have to worry about providing support for it manually, it will be all-automatic. Still, I will be interested to see the response this API receives from the world. Both APIs will be released sometime in late 2015.


iQKnJ5jaC0rZK.gif
 
The CPU optimizations of DX12 are useless as long as games continue to underuse modern CPU power in PCs. DX11.3 is thus DX12's equal.

That's not true, when games start to utilize DX12 you will actually see CPU utilization go down not up.
 
That's not true, when games start to utilize DX12 you will actually see CPU utilization go down not up.
I don't exactly understand what you mean by CPU utilization going up, but CPUs are not the bottleneck in games, and thus game performance will not dramatically improve due to these optimizations for CPU work. Unless are you playing an MMO, massive RTS simulation, and other such games that have a mass of NPCs roaming around, you won't see a real increase in performance.
 
I don't exactly understand what you mean by CPU utilization going up, but CPUs are not the bottleneck in games, and thus game performance will not dramatically improve due to these optimizations for CPU work. Unless are you playing an MMO, massive RTS simulation, and other such games that have a mass of NPCs roaming around, you won't see a real increase in performance.

If that were true then why would Mantle exist? Why would DX12 be trying to reduce CPU overhead? CPU's are absolutely the bottleneck and you will see this in a lot of SLI setups being the most severe. Draw calls are more expensive on DirectX, much less expensive on an API such as Mantle or upcoming DX12. Gotta keep those GPU/'s fed efficiently.
 
If that were true then why would Mantle exist? Why would DX12 be trying to reduce CPU overhead? CPU's are absolutely the bottleneck and you will see this in a lot of SLI setups being the most severe. Draw calls are more expensive on DirectX, much less expensive on an API such as Mantle or upcoming DX12. Gotta keep those GPU/'s fed efficiently.
More likely, games as they are developed are designed for the lowest common denominator, dual-core. Thus Microsoft's new CPU improvements brought by DX12 are more aimed at developers who will now be able to add more in for CPU work while still targeting that lowest common denominator, the dual-core CPUs. If game were bottlenecked by CPUs, then there would be no way a quad-core CPU would only be boosting framerate by 15%-20% over a dual-core CPU despite the quad core offering 200% the power of the dual-core. Even looking at games designed to be more taxing on the CPU, games like RTS and MMO games, we only see a 30% boost. Here are some examples of those that I speak of.

------------------------------------------------------------------
------------------------------------------------------------------
Here's a video showing an interesting benchmark test for Battlefield 3 and Witcher 2 done by NCIX.com.
Battlefield 3 gets 64fps on dual-core w/o HT and 63.9fps on quad-core w/ HT. Witcher 2 get 29.7fps on dual-core w/o HT and 30fps on quad-core w/ HT. Basically, the benefit of quad core is absolutely nonexistent.



------------------------------------------------------------------
------------------------------------------------------------------
Here's two benchmark pics for BF3 from Techspot's benchmarks.

www.techspot.com/review/458-battlefield-3-performance/page7.html
CPU_02.png
CPU SCALING OF AMD FX-4100
CPU_01.png
No benefit whatsoever here.

------------------------------------------------------------------
------------------------------------------------------------------
And here is an example of a more taxing PC game, Civilization V.

http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i7-2600k-i5-2500k-core-i3-2100-tested/20
35057.png

Intel Core i7 2600K (3.4GHz) = 44.3fps
Inteld Core i3 2100 (3.1GHz) = 33.3fps
33% increase. Decent, but clearly not anywhere close to the +100% increase that should be expected if the CPU was truly a bottleneck.


------------------------------------------------------------------
------------------------------------------------------------------
Here is Starcraft II, a game we know is very CPU taxing.

http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i7-2600k-i5-2500k-core-i3-2100-tested/20
35050.png

Intel Core i7 2600K (3.4GHz) = 64.9fps
Intel Core i3 2100 (3.1GHz) = 45.4fps
A 43% increase. Not bad, of course, but the game is probably the lone stander in these figures. Most games don't even touch the CPU requirements that this game has.
 
Last edited:
Try playing Crysis 3 on a Dual Core and see what happens.
CPUs bottleneck more often then the GPU on an average gaming rig.
I'm sure Crysis 3 is one of few games that actually makes good use of the CPU given it's Crytek, but most games are not like this.
 
Try BF3 MP and those numbers will tell the story, and StarCraft 2 was a mostly single threaded game so IPC and clock speeds affected that game more than throwing more cores at it. That's a well known fact lol.
 
Try BF3 MP and those numbers will tell the story, and StarCraft 2 was a mostly single threaded game so IPC and clock speeds affected that game more than throwing more cores at it. That's a well known fact lol.
Of course, a massive 64 player multiplayer match of Battlefield 3 will definitely draw a lot more than most any other game, and quad-core will be needed to max out such a game or suffer dearly for choosing dual-core in such a situation, but the majority of all games do not have this issue at all and definitely not to the extent as the extreme outlier that BF3 multiplayer is. Battlefield's multiplayer massive in all ways and is one of a kind.

But where did you hear about StarCraft 2 being single-threaded/single-cored?
 
Last edited:
Of course, a massive 64 player multiplayer match of Battlefield 3 will definitely draw a lot more than most any other game, and quad-core will be needed to max out such a game or suffer dearly for choosing dual-core in such a situation, but the majority of all games do not have this issue at all and definitely not to the extent as the extreme outlier that BF3 multiplayer is. Battlefield's multiplayer massive in all ways and is one of a kind.

But where did you hear about StarCraft 2 being single-threaded/single-cored?

Just do a quick google search.

http://www.dsogaming.com/pc-perform...2-heart-of-the-swarm-pc-performance-analysis/

"Before starting this analysis, let us tell you that we are big fans of StarCraft 2. StarCraft 2 is a global phenomenon and we are really enjoying watching all the talented players duking it out on eSports. One of the biggest issues of it, however, was its single threaded capabilities of its engine and since Blizzard has released the first expansion of StarCraft 2, it’s time to see whether the company has tweaked the game’s engine or not"

"As said, Wings of Liberty was mainly a single threaded game and unfortunately, Blizzard has not overhauled the engine powering this strategy game. Heart of the Swarm relies – mostly – on one of the CPU cores, meaning that a lot of gamers will be easily CPU limited. Given its single-threaded nature, there isn’t any difference between dual-cores and quad-cores and as a result of that, PC gamers will either need to overclock their CPUs or to move on to CPUs that offer a better performance/Ghz ratio."
 
Just do a quick google search.

http://www.dsogaming.com/pc-perform...2-heart-of-the-swarm-pc-performance-analysis/

"Before starting this analysis, let us tell you that we are big fans of StarCraft 2. StarCraft 2 is a global phenomenon and we are really enjoying watching all the talented players duking it out on eSports. One of the biggest issues of it, however, was its single threaded capabilities of its engine and since Blizzard has released the first expansion of StarCraft 2, it’s time to see whether the company has tweaked the game’s engine or not"

"As said, Wings of Liberty was mainly a single threaded game and unfortunately, Blizzard has not overhauled the engine powering this strategy game. Heart of the Swarm relies – mostly – on one of the CPU cores, meaning that a lot of gamers will be easily CPU limited. Given its single-threaded nature, there isn’t any difference between dual-cores and quad-cores and as a result of that, PC gamers will either need to overclock their CPUs or to move on to CPUs that offer a better performance/Ghz ratio."
Weird. No results came up when I tried. You must have put in the exact right term for the article to show up. But that article seems to be a heaping lie. The benchmarks like I posted along with others clearly show a difference between the i7 and the i3. shouldn't shouldnt believe everything you read on the internet.
 
That's not a very good comparison and here is why. The 2500K has turbo boost up to I believe 3.7 Ghz, the 2 core 4 thread Core i3 2100 does not turbo boost and is limited to 3.1 Ghz. Which is most of the reason why you see a difference.
 
http://www.techspot.com/review/305-starcraft2-performance/page13.html

"The graph above shows multi-core performance by measuring the CPU utilization of our 8 player test on the Core i5 750 processor. As we had found when testing the beta of StarCraft II, this game is only optimized to use two cores at best, which is disappointing to say the least"
Yes, this definitely goes along with what I am saying with this game being designed with dual-core as the "lead platform" like so many other games, but that's not the same as that previous article of yours saying "there is no difference between dual and quad core" and saying "Starcraft doesn't use all four cores" when there clearly is a 27%-46% between dual and quad.
 
Yes, this definitely goes along eith what I am saying with this game being designed with dual-core as the "lead platform" like so many games, but that's not the same as that previous article of yours saying "there is no difference between dual and quad core" and saying "Starcraft doesn't use all four cores" when there clearly is a 27%-46% between dual and quad.

Read my comment above.
 
That's not a very good comparison and here is why. The 2500K has turbo boost up to I believe 3.7 Ghz, the 2 core 4 thread Core i3 2100 does not turbo boost and is limited to 3.1 Ghz. Which is most of the reason why you see a difference.
Ah, I can see that. And I saw the terrible performance of the Core 2 Q6600 and lack of performance difference between Phenom II X2 and Phenom II X4. I can't believe Blizzard would just render across only two cores, especially given it's PC exclusive and quad cores are common place now. It's terrible to think too there is no cure for lazy devs.
 
Ah, I can see that. And I saw the terrible performance of the Core 2 Q6600 and lack of performance difference between Phenom II X2 and Phenom II X4. I can't believe Blizzard would just render across only two cores, especially given it's PC exclusive and quad cores are common place now. It's terrible to think too there is no cure for lazy devs.

Yup. Who knows why they do that. overclocking your CPU will get you more performance in that game that adding more cores.