[maximumPC] Nvidia Tom and Rev interview on Contracts, Gsync + more

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

dacostafilipe

Senior member
Oct 10, 2013
805
309
136
So you guys know, AMD's Huddy said that Mantle is not open at the moment (!), but it will be the case as soon as they release the SDK.
 

Pottuvoi

Senior member
Apr 16, 2012
416
2
81
I do place the primary responsibility for a game's performance on the developer, yes.
With Mantle this is finally true as drivers do not [mess] up everything with each update. ;)

This is also a great thing for AMD driver team as well, there shouldn't be as much work on each Mantle title as it is to get DX/GL titles to work.

Profanity isn't allowed in the technical forums.
-- stahlhart
 
Last edited by a moderator:

monstercameron

Diamond Member
Feb 12, 2013
3,818
1
0
With Mantle this is finally true as drivers do not [mess] up everything with each update. ;)

This is also a great thing for AMD driver team as well, there shouldn't be as much work on each Mantle title as it is to get DX/GL titles to work.

that probably could be one of the biggest features of mantle, shifting complexity from massive drivers onto game engine programmers. That could mean less frequent driver updates and less liability on AMD to optimize messy code.
 
Last edited by a moderator:

ShintaiDK

Lifer
Apr 22, 2012
20,378
146
106
DX/OpenGL works out of the box. The problem comes when AMD/nVidia starts to optimize performance. Specially when enough games is there and a performance boost for a previous title conflicts with a new title. I doubt Mantle, DX12 will change this in any way. Its simply a matter of volume.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
Game developers aren't exactly throwing out awesome games without bugs right now, some of them are taking over a year to fix (BF4, Sim City, + 10s more). Its not like they are programming gods that don't make mistakes and AMD's engineers are idiots. I would much rather the guys with knowledge of the hardware did the optimising for games rather than the guys that don't know the hardware. I don't consider this aspect a good thing, its likely to cause a lot of additional problems in the future.

BF4 Mantle has been in alpha/beta now for 6 months, if AMD is right and driver tweaks are minimal then much of this time is with Dice and Frostbite trying to get their use of Mantle correct. If the Frostbite team is taking that long to get everything working perfectly then its fair to say a lot of other developers are never going to be able to use Mantle at all, it will be too nuanced and complicated and introduce too many bugs into their code. The big problem with an API that passes much of its concerns to the user of the API is there is a higher chance of bugs occurring. One of the ways Mantle gets its speed is by removing state checks that tell you if you can call that method now or not, of course by doing so it becomes harder to debug your code.

So I wouldn't class pushing graphics driver optimisation work off to the game developers a net win, its probably in practice a net loss to us as a whole. If nothing else because every game developer has to do it themselves, repeating work that AMD could have just done once. They have also passed the buck with Crossfire as well, giving more flexibility to developers but also meaning that it doesn't just work, it needs to be explicitly added. That is more work and more things to go wrong (what about frame pacing?!). We don't know how this will work out in practice but calling it a win yet is a problematic, the evidence isn't yet supporting that. There are of course reasons to be excited about Mantle but there are also reasons to be concerned about it and its impact on the games its added to.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
++ to BrightCandle's post above.

I'm still amazed at how many people are pushing Mantle as a great thing. AAA games are now rivalling the complexities of operating systems, yet we're expected to believe that pushing driver-like optimization onto their developers is somehow a good thing.

Let's take this to a natural conclusion: why even use a general purpose OS like Windows? An OS adds overhead with its HAL, user mode, virtual memory, security, and other modern abstractions.

Maybe said developers should just create a game-specific OS tailored specifically for their game, and implement everything in assembler. You know, so they can get right to the metal and not have any of that pesky overhead like a multi-tasking kernel. :rolleyes:

Mantle is an unequivocal failure. It's only around because of the money AMD is pouring to get developers to come aboard. Remember, when the Dice guy was asked how much AMD paid him, his answer was "I'd still use it for free".

Uh-huh, I'm sure you would. So give the money back to AMD and let's see if you're still keen.

Again, if developers want to program individual hardware directly like that, all they need to is to ship a custom version of DOS/Linux with their game. Heck, make their game be an OS and they'll have no overhead at all because they can run it from kernel space and directly control all of the hardware.

Of course doing this would regress the last 20-30 years' worth of OS improvements and technology advancement. But oh well, there's no overhead, so it must be better! :awe:
 

Noctifer616

Senior member
Nov 5, 2013
380
0
76
I'm still amazed at how many people are pushing Mantle as a great thing. AAA games are now rivalling the complexities of operating systems, yet we're expected to believe that pushing driver-like optimization onto their developers is somehow a good thing.

They have been doing it on consoles for years now, don't you think they are used to it and bringing it to PC isn't going to be a big issue? Also, even if Mantle wasn't around, DX 12 still does the same thing.
 

SirPauly

Diamond Member
Apr 28, 2009
5,187
1
0
This is also a great thing for AMD driver team as well, there shouldn't be as much work on each Mantle title as it is to get DX/GL titles to work.

Is it?

They could also be a potential backlash by this: If a competitor offers more performance and efficiency with DirectX and AMD is marketing strongly a proprietary API for gaming -- the market may feel that AMD doesn't offer enough focus and resources on DirectX!
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
They have been doing it on consoles for years now, don't you think they are used to it and bringing it to PC isn't going to be a big issue?
How many different hardware combinations does an Xbox have? You might have a bigger HDD, Kinect missing, but that's about it.

How many different hardware combinations are possible on a PC? Millions.

We already used to program hardware directly under DOS, and developers only had to deal with a fraction of the complexity they'd have to deal with now if they went that route.

Also, even if Mantle wasn't around, DX 12 still does the same thing.
Does it? So DirectX12 is tied to GCN, is it?

DirectX still maintains the programming abstraction needed to allow any IHV to implement a driver back-end and have it work. Even if nVidia shipped a Mantle driver, there's absolutely no guarantee the existing Mantle code targeting GCN would work on it.

There's a big difference between reducing overhead, and programming hardware directly. Programming hardware directly was already done under DOS. It was stupid, so we moved away from it.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
That's ridiculous! It has disrupted the industry and has garnered so much awareness -- even by Microsoft!
Please, stop propagating this myth. The overhead awareness was been there since 2000/XP where it was necessary to allow developers to reuse a lot of their driver code when the OS lines merged.

But steps have been taken since Vista to reduce the overhead through a new driver model, improved batching, DX11 multi-threading, etc.

DirectX12 is just the next step in the process which started in 2006, eight years ago.

1146417816aqCxiPwC4n_3_1_l.jpg


1146417816aqCxiPwC4n_3_2_l.jpg
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
But Mantle also has an abstraction layer. Who said there isn't one?
It only targets and works on one specific piece of hardware (GCN). That's not abstraction.

AMD can't even abstract it enough to work on their own non-GCN hardware, so what chance does Intel/nVidia have of running this GCN specific code?
 
Last edited:

VulgarDisplay

Diamond Member
Apr 3, 2009
6,188
2
76
Please, stop propagating this myth. The overhead awareness was been there since 2000/XP where it was necessary to allow developers to reuse a lot of their driver code when the OS lines merged.

But steps have been taken since Vista to reduce the overhead through a new driver model, improved batching, DX11 multi-threading, etc.

DirectX12 is just the next step in the process which started in 2006, eight years ago.

1146417816aqCxiPwC4n_3_1_l.jpg


1146417816aqCxiPwC4n_3_2_l.jpg

Perhaps its a myth that dx12 started in 2006. If what you say is true than thank the gaming gods that amd has made a competing api that is better than anything Microsoft has released so far in less than 2 years.

You are acting like Microsoft's stranglehold on PC gaming features is a good think. AMD had single handedly forced Microsoft to innovate and if they can continually force Microsoft to innovate because they can add features at will it is a great thing. I still find it hilarious that people don't see how lame the unveiling of dx12 has been. AMD releases mantle, months later Microsoft announces dx12 with games coming 2-3 years down the road. 2-3 years..... Lol
 

Techhog

Platinum Member
Sep 11, 2013
2,834
2
26
++ to BrightCandle's post above.

I'm still amazed at how many people are pushing Mantle as a great thing. AAA games are now rivalling the complexities of operating systems, yet we're expected to believe that pushing driver-like optimization onto their developers is somehow a good thing.

Let's take this to a natural conclusion: why even use a general purpose OS like Windows? An OS adds overhead with its HAL, user mode, virtual memory, security, and other modern abstractions.

Maybe said developers should just create a game-specific OS tailored specifically for their game, and implement everything in assembler. You know, so they can get right to the metal and not have any of that pesky overhead like a multi-tasking kernel. :rolleyes:

Mantle is an unequivocal failure. It's only around because of the money AMD is pouring to get developers to come aboard. Remember, when the Dice guy was asked how much AMD paid him, his answer was "I'd still use it for free".

Uh-huh, I'm sure you would. So give the money back to AMD and let's see if you're still keen.

Again, if developers want to program individual hardware directly like that, all they need to is to ship a custom version of DOS/Linux with their game. Heck, make their game be an OS and they'll have no overhead at all because they can run it from kernel space and directly control all of the hardware.

Of course doing this would regress the last 20-30 years' worth of OS improvements and technology advancement. But oh well, there's no overhead, so it must be better! :awe:

I love how you agreed with Brightcandle's balanced opinion, then shot off into a biased tangent.I don't think you understand what "unequivocal" means. On another note, if paying devs to use something is bad, then both AMD and Nvidia have huge problems.
 

AnandThenMan

Diamond Member
Nov 11, 2004
3,991
627
126
I'm still amazed at how many people are pushing Mantle as a great thing. AAA games are now rivalling the complexities of operating systems, yet we're expected to believe that pushing driver-like optimization onto their developers is somehow a good thing.
Mantle makes the game development process easier not harder.
AMD can't even abstract it enough to work on their own non-GCN hardware, so what chance does Intel/nVidia have of running this GCN specific code?
Yes they can but chose not to, which was a smart call.
 
Last edited:

Despoiler

Golden Member
Nov 10, 2007
1,968
773
136
But steps have been taken since Vista to reduce the overhead through a new driver model, improved batching, DX11 multi-threading, etc.

DX11 multithreading traded better core scaling for increased driver overhead. DX11 MT is almost entirely done within the drivers.
 
Last edited:

dacostafilipe

Senior member
Oct 10, 2013
805
309
136
... The big problem with an API that passes much of its concerns to the user of the API is there is a higher chance of bugs occurring. One of the ways Mantle gets its speed is by removing state checks that tell you if you can call that method now or not, of course by doing so it becomes harder to debug your code ...

It's a lot easier to debug your own code then something happening in a blackbox, in this case a driver. Managing the memory, the states and other stuff yourself helps a lot in debugging. This will in the mid/long term produce less graphics related bugs.
 

Spjut

Senior member
Apr 9, 2011
932
162
106
It only targets and works on one specific piece of hardware (GCN). That's not abstraction.

AMD can't even abstract it enough to work on their own non-GCN hardware, so what chance does Intel/nVidia have of running this GCN specific code?

Do note that Mantle doesn't work on their older non-GCN architectures. It's usual that older hardware lack required features for new standards, it was exactly the same with DX10 and DX11.

If AMD does allow Nvidia and Intel to use Mantle once it's finished, that's when we'll truly know if their hardware is capable. But Nvidia has already said they have no interest in Mantle, but that's a business reason, not technological.
 

Stuka87

Diamond Member
Dec 10, 2010
6,240
2,559
136
It only targets and works on one specific piece of hardware (GCN). That's not abstraction.

AMD can't even abstract it enough to work on their own non-GCN hardware, so what chance does Intel/nVidia have of running this GCN specific code?

It works on GCN CURRENTLY. AMD has stated it is not locked to GCN by design, but rather is for GCN only until it is officially released (ie: non-beta 1.0).
 

AnandThenMan

Diamond Member
Nov 11, 2004
3,991
627
126
But Nvidia has already said they have no interest in Mantle, but that's a business reason, not technological.
Exactly. And it's a smart decision Nvidia can't put themselves in a position to be at the mercy of a direct competitor when it comes to something as fundamental as an API. Let's put it this way, if Microsoft all of a sudden started making GPUs then Nvidia would have to take a serious look at supporting D3D going forward.
 

f1sherman

Platinum Member
Apr 5, 2011
2,243
1
0
++ to BrightCandle's post above.

I'm still amazed at how many people are pushing Mantle as a great thing. AAA games are now rivalling the complexities of operating systems, yet we're expected to believe that pushing driver-like optimization onto their developers is somehow a good thing.

Let's take this to a natural conclusion: why even use a general purpose OS like Windows? An OS adds overhead with its HAL, user mode, virtual memory, security, and other modern abstractions.

Maybe said developers should just create a game-specific OS tailored specifically for their game, and implement everything in assembler. You know, so they can get right to the metal and not have any of that pesky overhead like a multi-tasking kernel. :rolleyes:

Mantle is an unequivocal failure. It's only around because of the money AMD is pouring to get developers to come aboard. Remember, when the Dice guy was asked how much AMD paid him, his answer was "I'd still use it for free".

Uh-huh, I'm sure you would. So give the money back to AMD and let's see if you're still keen.

Again, if developers want to program individual hardware directly like that, all they need to is to ship a custom version of DOS/Linux with their game. Heck, make their game be an OS and they'll have no overhead at all because they can run it from kernel space and directly control all of the hardware.

Of course doing this would regress the last 20-30 years' worth of OS improvements and technology advancement. But oh well, there's no overhead, so it must be better! :awe:

I read that and this discussion immediately sprang to my mind:

Developers have all the documentation that they need to write their own driver/interface for Intel and AMD hardware for a while now.
Hell they even have a big head start from the open source Mesa stuff. But yet they don't... because realistically the claim based on the silly notion that game developers are rock-stars and driver folks have no idea what they're doing.

Sometimes I do wish that someone would go ahead and write a path that directly targets (each version of) Intel and AMD hardware interfaces. I want to see how well that goes for users when they get a new piece of hardware and can't run the game (or run it slower) because the developers haven't written a path for it yet/ever.


Quote:
Originally Posted by jbarcz1 View Post
You're missing the point. Just having the docs for a particular chip is not sufficient, and not what we've been asking for. Yes, we have the ability to write our own drivers for specific parts, but we don't have the bandwidth to maintain those drivers for every new part. We also don't have the ability to deliver new drivers on the day the hardware ships, and we don't have the ability to walk down the hall and talk to the hardware people when we run into undocumented quirks.

No, that is exactly my point. In the same paragraph people claim that that don't have the resources to do all these things but then implicitly dismiss them as easy problems and complain about poor driver engineering when there are bugs (even if they are in application code...). Turns out GPU hardware interfaces and designs aren't as stable as CPUs...

For reference, I was responding specifically to Dan's quote about wanting "no API"... you already have that. In reality, you really do want an API of some form, you just want it to solve all of the above problems while introducing zero overhead. And I'd love if games ran at infinite speed too, but I'll settle for 60 Hz for now and maybe 120 once I get my Oculus dev kit


http://forum.beyond3d.com/showpost.php?p=1848952&postcount=1691
http://forum.beyond3d.com/showpost.php?p=1848984&postcount=1694
 

ocre

Golden Member
Dec 26, 2008
1,594
7
81
Mantle was AMDs attempt to solve a very personal problem. It has been completely overshadowed and forgotten, especially in this thread.

What, you might ask.

APU performance.

Mantle boost performance most on weak CPUs and can do this very well. This is by design and it does this pretty well. AMD bet their future on APUs. They are really potent graphics bolted onto weaker x86 cores. AMD needed a solution if they wanted to make their APUs shine and thus mantle was born.

Instead of marketing Mantle for what it is (a way to prop up their weak x86 cores), the focus shift to how terrible DX is.

The reality is that DX performance on strong CPUs is not that bad at all. Even mantle offers little improvement here. But on the weak slower cores on AMD APUs, it can really make a difference.

I see people talking out their behinds calling DX a failure and how much better AMD done with mantle. They really dont have a clue what they are talking about. You just cannot compare to two like so. DX is an API that spans across hundreds of different hardware and that was the goal always. All in all, it has done a great job. But if you focus on one architecture alone could you get more performance? I sure would hope so.

So I think the conversation should be on why mantle is really here. AMD set out to solve a very specific problem and I think Mantle does that rather well. I just find it very interesting how well it has been spun and how readily people adopt the misdirection. It is not about how much DX sucks, it was really about squeezing more performance out of their APUs. Once you realize this then you will understand some of the more puzzling aspects. Like why AMD would really want to keep mantle around even after DX12 is out. And you will know the answer when someone asks, "do you think intel will ever support mantle?"
Answer, "No"

Its not gonna happen. I promise
 

monstercameron

Diamond Member
Feb 12, 2013
3,818
1
0
Mantle was AMDs attempt to solve a very personal problem. It has been completely overshadowed and forgotten, especially in this thread.

What, you might ask.

APU performance.

Mantle boost performance most on weak CPUs and can do this very well. This is by design and it does this pretty well. AMD bet their future on APUs. They are really potent graphics bolted onto weaker x86 cores. AMD needed a solution if they wanted to make their APUs shine and thus mantle was born.

Instead of marketing Mantle for what it is (a way to prop up their weak x86 cores), the focus shift to how terrible DX is.

The reality is that DX performance on strong CPUs is not that bad at all. Even mantle offers little improvement here. But on the weak slower cores on AMD APUs, it can really make a difference.

I see people talking out their behinds calling DX a failure and how much better AMD done with mantle. They really dont have a clue what they are talking about. You just cannot compare to two like so. DX is an API that spans across hundreds of different hardware and that was the goal always. All in all, it has done a great job. But if you focus on one architecture alone could you get more performance? I sure would hope so.

So I think the conversation should be on why mantle is really here. AMD set out to solve a very specific problem and I think Mantle does that rather well. I just find it very interesting how well it has been spun and how readily people adopt the misdirection. It is not about how much DX sucks, it was really about squeezing more performance out of their APUs. Once you realize this then you will understand some of the more puzzling aspects. Like why AMD would really want to keep mantle around even after DX12 is out. And you will know the answer when someone asks, "do you think intel will ever support mantle?"
Answer, "No"

Its not gonna happen. I promise

[What] are you on about? Mantle does so much more than prop up their APUS.

Profanity isn't allowed in the technical forums.
-- stahlhart
 
Last edited by a moderator: