DirectX and OpenGL to get low level access according to leaked statements (GDC 2014)

Page 9 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
They're probably going to need a combination of both methods to make sure that future GPUs are well fed..

More and faster cores, plus much lower overhead. The latter in particular is probably going to give them the biggest benefit near term, as it's much harder for developers to exploit increased CPU parallelism.

One thing I've been wondering, is how the Mantle API allows the CPU to issue draw calls?

I know it's multithreaded, but are ALL threads issuing draw calls at the same time? That can be problematic, because 3D rendering is still an essentially serial process as many things need to be done in precise order..

DX11 multithreading got around this by using command lists, which used multiple threads to upload data at the same time, but all of that data still went through a single thread for final dispatch to the GPU as far as I know..

If it does turn out that Mantle is using multiple threads to issue draw call commands simultaneously without an immediate device thread like DX11, could that be responsible for the stuttering problem?

Having multiple threads issuing draw call commands at the same time with no check would create a whole lot of sync issues I'm sure..

Well, I don't disagree that lower overhead on draw calls is a great improvement, but that will be a one time improvement, after which, CPU's are going to continue to lag behind GPU improvements. Multithreading is the key to lasting improvements.

How the command lists are accomplished, is a little unknown to me, but having a single thread that orchestrates when all the commands are executed on various threads, should be extremely low overhead. Of course it still may need to be improved for it to work well.

As far as Mantle goes, from what I'm told, the stutters spread far a part, and works spectacularly the rest of the time. I am betting it is a problem that can be fixed, and I doubt it is an inherent problem with Mantle that can't be solved. Otherwise I'd expect the stuttering to be more often.
 

Gloomy

Golden Member
Oct 12, 2010
1,469
21
81
I'm pretty convinced the stutters are effed VRAM management. The only people that wouldn't experience the stuttering are using less than ultra settings, or have a card with more than 3GB ram.
 

SiliconWars

Platinum Member
Dec 29, 2012
2,346
0
0
The Mantle stutters are clearly just a bug that will be fixed, and I agree with Gloomy that it's likely to be memory management related.
 

VulgarDisplay

Diamond Member
Apr 3, 2009
6,193
2
76
The only time I experience the stutter is when I hear explosion sounds. It only ever lasts for a couple seconds. I'm happy to take that 2 second stutter about once an hour vs. Constant dips into the 70s with dx11.
 

Keysplayr

Elite Member
Jan 16, 2003
21,209
50
91
The only time I experience the stutter is when I hear explosion sounds. It only ever lasts for a couple seconds. I'm happy to take that 2 second stutter about once an hour vs. Constant dips into the 70s with dx11.

I'd be happy to take 0 stutter as well. Dips into the 70's sounds utterly insidious.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
The mantle stutters aren't mantle stutters, they are BF4 stutters. Ever since the Mantle patch was released I have been getting the stutters as well. Its definitely a bug, one they seem they aren't going to fix as its been a month since they introduced it.

BF4 1 step forward 3 backwards.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
The mantle stutters aren't mantle stutters, they are BF4 stutters. Ever since the Mantle patch was released I have been getting the stutters as well. Its definitely a bug, one they seem they aren't going to fix as its been a month since they introduced it.

BF4 1 step forward 3 backwards.

I don't have BF4 installed anymore after I reformatted, but when I did, I don't recall any stuttering. Game ran buttery smooth for me, even after the Mantle patch.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
The first thing MS needs to focus on is reducing DX11 overhead. The mechanisms for multithreaded rendering are there but it's not as good as it can be.

Spreading out the API calls by using command lists is an incomplete solution: while it's better than manually threading or rendering in solely immediate context, the CPU resource demand from DX11 can eat up way too many cycles. It can make certain games worse if the game has very heavy simulation/AI threads and the DX11 render threads collide with those.

I'm sure there's room for improvement, but from the few games that support DX11 multithreading, it seems to offer comparable performance to Mantle; if not greater.. Mantle is a massive improvement over D3D on AMD hardware, but how much of that improvement is due to removing AMD's D3D driver inefficiencies?

And like sontin said, the Star Swarm benchmark gains quite a bit of performance with command lists enabled, and that has lots of A.I and simulation I believe..

I still think the technology has promise, but it has to be tweaked for ease of implementation and lowered overhead..
 

Spjut

Senior member
Apr 9, 2011
928
149
106
I'm sure there's room for improvement, but from the few games that support DX11 multithreading, it seems to offer comparable performance to Mantle; if not greater.. Mantle is a massive improvement over D3D on AMD hardware, but how much of that improvement is due to removing AMD's D3D driver inefficiencies?

And like sontin said, the Star Swarm benchmark gains quite a bit of performance with command lists enabled, and that has lots of A.I and simulation I believe..

I still think the technology has promise, but it has to be tweaked for ease of implementation and lowered overhead..

I can admit that the few games supporting DX11 multithreaded rendering seem to get a noticeable advantage on Nvidia, but come on, claiming it's greater than Mantle is taking it too far.

And be careful when talking about AMD's D3D driver inefficiencies. For the games that do support Mantle, AMD has very little motivation for making specific optimizations for the DX11 path.


Why is OpenGL used by so few today?
I've seen Nvidia's presentations about lowering the overhead using OpenGL extensions. OpenGL also works on other and older operating systems.

When XP still dominated, devs still stuck with DX9 rather than using OpenGL 3. And today, they stick with DX11, instead of using OpenGL 4.x, which could bring DX11.1/11.2-features to Windows 7 as well.

OpenGL seems great but there must be a reason to why so many opt for DX instead
 

NTMBK

Lifer
Nov 14, 2011
10,269
5,134
136
I can admit that the few games supporting DX11 multithreaded rendering seem to get a noticeable advantage on Nvidia, but come on, claiming it's greater than Mantle is taking it too far.

And be careful when talking about AMD's D3D driver inefficiencies. For the games that do support Mantle, AMD has very little motivation for making specific optimizations for the DX11 path.


Why is OpenGL used by so few today?
I've seen Nvidia's presentations about lowering the overhead using OpenGL extensions. OpenGL also works on other and older operating systems.

When XP still dominated, devs still stuck with DX9 rather than using OpenGL 3. And today, they stick with DX11, instead of using OpenGL 4.x, which could bring DX11.1/11.2-features to Windows 7 as well.

OpenGL seems great but there must be a reason to why so many opt for DX instead

As far as I can tell, a lot of it is from better toolchains for DirectX. *note, not a games developer* DirectX development is tightly integrated into Visual Studio, with all sorts of extremely useful looking tools available for debugging, verification, etc.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
I can admit that the few games supporting DX11 multithreaded rendering seem to get a noticeable advantage on Nvidia, but come on, claiming it's greater than Mantle is taking it too far.

Why? In CPU limited scenarios like Star Swarm, command lists can give you comparable performance increases to Mantle. AMD still does better in that benchmark though, because of the kind of motion blur they use which is optimized heavily for GCN.

I said greater because I believe AMD starts at a lower performance point in most CPU limited situations in D3D; unless the engine is limited to one or two threads, then NVidia tends to have a disadvantage.

And be careful when talking about AMD's D3D driver inefficiencies. For the games that do support Mantle, AMD has very little motivation for making specific optimizations for the DX11 path.
Well I was speaking primarily about BF4 of course. I should have been more specific.. But having Mantle isn't an excuse to put DX11 on the backburner..

Why is OpenGL used by so few today?
I've seen Nvidia's presentations about lowering the overhead using OpenGL extensions. OpenGL also works on other and older operating systems
Not as many developers as skilled with it's use perhaps? I know that OpenGL doesn't support true multithreading either, unlike DX11..
 

Gloomy

Golden Member
Oct 12, 2010
1,469
21
81
Mantle is better than DX in every way. It would probably be faster than DX even with a single core. That bears testing though. AMD's 9x lower overhead than DX claim was made using two threads to render with Mantle.

I don't understand how you can say DX w/ multithreading is as good as Mantle when you see graphs like this:



Where a 780 is clearly held back straight up to a 4.5GHz 4770K. Hell, it could still be bottlenecked at that point, this is just one scenario. This may not be the most demanding section of the game. Just one.

OTOH, you have this same test with a 290X running Mantle:




And you can see that CPU makes little difference.

You need to snap out of your delusion dude. DX11 isn't as good as Mantle. You can argue that it is "good enough", and maybe it is. After all, you can buy a CPU, overclock it 30%, and that will let you max out... a single card at least .

But what will you do when Maxwell comes out, and it's 30-50% faster than Kepler... and CPUs only get 10% faster in the same amount of time? Will it be "good enough" then? :whiste:
 
Aug 11, 2008
10,451
642
126
Mantle is better than DX in every way. It would probably be faster than DX even with a single core. That bears testing though. AMD's 9x lower overhead than DX claim was made using two threads to render with Mantle.

I don't understand how you can say DX w/ multithreading is as good as Mantle when you see graphs like this:



Where a 780 is clearly held back straight up to a 4.5GHz 4770K. Hell, it could still be bottlenecked at that point, this is just one scenario. This may not be the most demanding section of the game. Just one.

OTOH, you have this same test with a 290X running Mantle:




And you can see that CPU makes little difference.

You need to snap out of your delusion dude. DX11 isn't as good as Mantle. You can argue that it is "good enough", and maybe it is. After all, you can buy a CPU, overclock it 30%, and that will let you max out... a single card at least .

But what will you do when Maxwell comes out, and it's 30-50% faster than Kepler... and CPUs only get 10% faster in the same amount of time? Will it be "good enough" then? :whiste:

You mean mantle is "better" than Dx in the one game that supports it if you are running a gcn 1.1 gpu and are playing a cpu limited scenario. Dx is still better in the 99.99 percent of other games, because you can actually *play* them.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Mantle is better than DX in every way.

Except that DX can run on anything and Mantle can't..

I don't understand how you can say DX w/ multithreading is as good as Mantle when you see graphs like this:

You do realize you're comparing Mantle to stock DX11. In that case, yes Mantle is much better.

But I'm talking about Mantle vs DX11 multithreading. Frostbite 3 does not use that feature, so BF4 cannot be used to compare the two.

If you want to compare the two, use Star Swarm as the Oxide engine supports both, and you'll see that DX11 multithreading offers similar performance as Mantle does; except that it could even be more because AMD's D3D drivers don't scale across CPU cores as well as NVidia's, so they have a lower base performance.
 

el etro

Golden Member
Jul 21, 2013
1,581
14
81
About the PCper test: is a GTX 780Ghz(that is Gigabyte maximum tier of GTX 780 card and match Classif/Lightning with out of box settings) versus a default(quiet) R9 290x(up to 1Ghz, but have problems to stay above 900Mhz on default mode). If chips has preheated before test, is possible to the Radeon card shows really little clocks and will be obviously no match for the Nvidia card. Why not put a Tri-X version of 290x against the 780Ghz(that clockspeeds averages 1,15Ghz on gaming) at the same test?




I don't understand how you can say DX w/ multithreading is as good as Mantle when you see graphs like this

Man, guys seen the result of one game and think they are well biased to judge Mantle a fail...
Time to repeat over and over again the BF3 Multiplayer graph(obviously launched before the patch that made Nvidia cards boost FPS on BF4 multiplayer):



The FPS counter shows 75 for Nvidia GTX 680 versus 65 for AMD, a 15% difference. This is close to the 13% difference that 780Ti exhibits over AMD 290x in this test:





Then you look at the FPS settings on Multiplayer Mode of Crysis 3 Lost Island(with already optimized drivers and patched game) and see no Manufacturer have the advantage:




And CryEngine game is as threaded as the Frosbite game. Nvidia multihtreading driver don't exhibit any advantage against AMD's in this test.


The benefit of multithreading of Nvidia drivers never happened on BF4. True is that BF3/BF4 engine favor Nvidia cards.



And you can see that CPU makes little difference.

You need to snap out of your delusion dude. DX11 isn't as good as Mantle. You can argue that it is "good enough", and maybe it is. After all, you can buy a CPU, overclock it 30%, and that will let you max out... a single card at least .

But what will you do when Maxwell comes out, and it's 30-50% faster than Kepler... and CPUs only get 10% faster in the same amount of time? Will it be "good enough" then? :whiste:
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
And CryEngine game is as threaded as the Frosbite game. Nvidia multihtreading driver don't exhibit any advantage against AMD's in this test.


The benefit of multithreading of Nvidia drivers never happened on BF4. True is that BF3/BF4 engine favor Nvidia cards.

Neither Crysis 3, BF3, or BF4 support DX11 multithreading. You're confusing manual multithreading, which is what all of those games support, with DX11 multithreading, which only NVidia supports and is done through the drivers.

The game has to be specifically optimized for DX11 multithreading for it to show any benefits. The only known games that use it so far are AC III, Civilization 5, Project C.A.R.S, and any future game that will use the Oxide engine which is used for the Star Swarm benchmark.
 

el etro

Golden Member
Jul 21, 2013
1,581
14
81
The game has to be specifically optimized for DX11 multithreading for it to show any benefits. The only known games that use it so far are AC III, Civilization 5, Project C.A.R.S, and any future game that will use the Oxide engine which is used for the Star Swarm benchmark.

Source?

Man, there's no way to what you're saying to be true...

Project Cars CPU benchmark indicates very poor CPU optimization. Again we have bad FX 8150 support and i7 with 4 cores equaling i7 with six cores. Game should have at least 8 threads well optimized as Crysis3/BF4 is:

Assassin's Creed 4 last week benchmark showing good optimization for the two manufacturers GPUs on a i7 processor:




Another CPU intensive game: StarcraftII HotS(But this game is DX9):



And HoTs uses no better the CPus than BF4/Crysis3:



Bad FX 8350 support + i7 2600k tying 3960k: No optimized multi-core support;





Another CPU intensive bench, but at DX11: CoH2:



And CPU benchs of game suggests better CPU optimization than SC2HotS:








About Civ5: This site GPU13 bench indicate GTX 770 14% ahead of 7970Ghz in the bench, and anterior year bench indicate 7970Ghz 6% ahead of GTX 680.
 

Gloomy

Golden Member
Oct 12, 2010
1,469
21
81
But I'm talking about Mantle vs DX11 multithreading. Frostbite 3 does not use that feature, so BF4 cannot be used to compare the two.

Except BF4 does use that feature. :thumbsup:

If you want to compare the two, use Star Swarm as the Oxide engine supports both, and you'll see that DX11 multithreading offers similar performance as Mantle does; except that it could even be more because AMD's D3D drivers don't scale across CPU cores as well as NVidia's, so they have a lower base performance.

Err, no. I've run the Oxide demo on an Nvidia card. You get really high FPS in light scenes but then like 15 when it pans out. On Mantle, I run a minimum of 40 in the same type of scenes. Overall the averages are close but in practice Nvidia cards with their magical multithreading wouldn't be considered playable at all, if it were a game. I'm sure you've run the demo on your Nvidia cards. Surely you wouldn't be trying to cover up their garbage performance by using the average performance as a cop-out right?
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Source?

Man, there's no way to what you're saying to be true...

The game is still in pre-alpha, but it's been known for quite some time that the MAD engine supports DX11 multithreading (since build 179 apparently), which explains why it performs so well on NVidia hardware compared to AMD.

Source

Project Cars CPU benchmark indicates very poor CPU optimization. Again we have bad FX 8150 support and i7 with 4 cores equaling i7 with six cores. Game should have at least 8 threads well optimized as Crysis3/BF4 is:
Obviously you don't understand what DX11 multithreading is. You keep comparing it to Crysis 3 and BF4, but it's not the same thing..

Also, the 3930k is 26% faster than the 2600K, so obviously some CPU optimization is occurring there..

But anyway, like I said, the game isn't even out yet, so it's likely those issues will be resolved before release.

Assassin's Creed 4 last week benchmark showing good optimization for the two manufacturers GPUs on a i7 processor
I said Assassin's Creed 3, not 4..

Another CPU intensive game: StarcraftII HotS(But this game is DX9):
I don't even know why you're even bringing up SC3 or CoH 2. They're completely irrelevant to the discussion.

and anterior year bench indicate 7970Ghz 6% ahead of GTX 680.
You used benchmarks from 2012. Try using more up to date benchmarks, like from 2013..

Anyway, DX11 multithreading only helps to resolve CPU bottlenecks. In GPU limited situations, it won't increase performance at all.
 
Last edited:

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Except BF4 does use that feature. :thumbsup:

What are you talking about? BF4 does not support DX11 multithreading. It uses manual multithreading, which is different..

Err, no. I've run the Oxide demo on an Nvidia card. You get really high FPS in light scenes but then like 15 when it pans out. On Mantle, I run a minimum of 40 in the same type of scenes. Overall the averages are close but in practice Nvidia cards with their magical multithreading wouldn't be considered playable at all, if it were a game. I'm sure you've run the demo on your Nvidia cards. Surely you wouldn't be trying to cover up their garbage performance by using the average performance as a cop-out right?
That's because the benchmark is rigged in favor of AMD. Try turning off the motion blur (which has a massive 500% performance hit) and then things will be different.

The motion blur they use is heavily optimized for GCN architecture courtesy of Mantle (Mantle isn't only about CPU bottlenecks), which is why the Radeons don't get the massive performance hit from it.

We've been over all of this before in other threads. Guess you weren't around then :sneaky:
 

Gloomy

Golden Member
Oct 12, 2010
1,469
21
81
What are you talking about? BF4 does not support DX11 multithreading. It uses manual multithreading, which is different..

They've used it since BF3, dude.

As for the motion blur, I'm not going to argue with you. It's not doing anything GCN specific.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
They've used it since BF3, dude.

Neither of the BF games support DX11 multithreading. Repi himself confirmed this on beyond3d forums, and on twitter.. He wanted to implement it but couldn't because it never gave them any benefits. I don't know if that situation has changed as many driver updates have occurred since then.

As for the motion blur, I'm not going to argue with you. It's not doing anything GCN specific.

Then how on Earth is it resulting in a 500% performance hit? What kind of motion blur does that?

Turning on motion blur completely tanks frame rates on my system, dropping them down to single digits..

With motion blur disabled, and deferred context enabled, performance increases dramatically..
 

Gloomy

Golden Member
Oct 12, 2010
1,469
21
81
Then how on Earth is it resulting in a 500% performance hit? What kind of motion blur does that?

Turning on motion blur completely tanks frame rates on my system, dropping them down to single digits..

With motion blur disabled, and deferred context enabled, performance increases dramatically..

It's overloading the driver with draw calls. Mantle just handles that better.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |