[Extremetech] Nvidia’s GameWorks program usurps power from developers, end-users, AMD

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

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
AMD is doing it: TressFX, Forward+, GI, DoF etc.

They have their own libaries which aren't optimize for nVidia cards.

Funny, Forward+ was such an example with Dirt:Showdown.
 

zlatan

Senior member
Mar 15, 2011
580
291
136
http://www.extremetech.com/extreme/...surps-power-from-developers-end-users-and-amd

Many predicted that Nvidia's answer to Mantle would be a dirty one.

GameWorks is not as bad as it seems. There will be many new effects on the new consoles that simply cannot be ported to Direct3D, because of the API latency. Mantle is a solution for this, but only for the GCN GPUs. Another solution is GameWorks. This SDK is a big "out of box" library, with many working effects. It can be used for bad things, but in the end GameWorks will be good for the industry, because many developers won't develop a D3D port for every console or Mantle effect, so they can easily use an "out of box" GameWorks solution for the problem. It may not be the same quality, but better than nothing.
 

el etro

Golden Member
Jul 21, 2013
1,584
14
81
Is anybody really surprised by this? I guess Mantle supporters are okay with it as long enough engines use it, and because Microsoft's DirectX is "bad/slow".

Now all we need is Intel to come up with their own API and start throwing money at developers to not use anything else. Then we'll need an AMD board for one game, an nVidia board for another, and Intel onboard for the third.

Welcome back 1990s, we missed you.

Flawless.

We should protest against this.

What happens when the featureset requries AMD IP, even if we imagine for a bit it would be open?

Its simply an attempt to control the API. Had AMD wanted everyone on board, they would have made it open and widespread.

Mantle is made with evil intentions, but it can bring a revolution to PC gaming. Imagine if you could play with a FX-4100 driving a 290x with no bottleneck...
Mantle is a optional feature by now, and Gameworks can(i edited) bring out-of-box and irreversible changes to GW sponsored Games.

crysis 2 killed performance on ALL cards, not just amd cards. It was tessellating completely flat surfaces and an entire invisible ocean

this is a waste no matter what brand you used. the only difference was amd cards took a 40% hit while nvidia cards only a 20% hit. in either case it was a waste of performance

This!

But it was still cheat.

Key point :- TressFX ON.

This is the equivalent of running a game with PhysX ON on AMD cards and complaining it doesnt work.

No more. Like firestrike do not favor any more GPU maker nowdays.


These numbers aren't odd.
Heaven is only using a max factor of 8-16x. Tessmark - like Stone Giant - uses up to factor 64x.

Not want to initiate more discussion about tesselation, but i think insane tesselation levels are hard to be used with proportional visual quality benefit in games...
 
Last edited:

el etro

Golden Member
Jul 21, 2013
1,584
14
81
AMD is doing it: TressFX, Forward+, GI, DoF etc.

They have their own libaries which aren't optimize for nVidia cards.

Funny, Forward+ was such an example with Dirt:Showdown.

That is a reversible(that can be deactivated) on the game menu. What if the elements added to detonate the rival GPU performance can not be disabled via conventional ways?


Why anyone DON'T care about the below performance charts??
sc_blacklist_1920_1080.gif



diablo3_1920_1080.gif




sc2_1920_1080.gif


In this thread I see a lot of speculation on both sides. We do not know why they refused to include AMD libraries, indeed we only have the author's word that it occurred.

I also see speculation as to why Nvidia has been preferred over AMD. I am going to give my experience - no speculation - as to why myself, a user who buys 2 dgpu's or more each year prefers Nvidia.

I was excited when AMD became more competitive FPS wise and purchased a 5870. I also purchased a 3rd monitor for eyefinity. I quickly found that out of the 3 features advertised on the box (eyefinity, power saving features for 2d, and overclockability) did not work correctly out of the box.

I had to disable the power saving features by using a hexeditor to altar the the on card software in order to stop experiencing issues with 3 monitors in 2d mode. This took me a good four hours of research to find out. AMD did not provide any information on this to the public and indeed - testing your card in the advertised setup would be recommended to most manufacturers.

Afterwards I found that my friend who I had purchased a 5770 was experiencing gray screens with a brand new card. A few searches confirmed that many people were.

Essentially, they had the opportunity to steal my business from Nvidia but issues with 5xxx cards soured my mouth.

I bought two 570s and two 670s since then. In those times I have thought about switching but the framepacing issues came to light and I decided to stick with Nvidia.

There may be a time when I give them another chance, but when I am buying 700+ worth of hardware each year I don't want to risk my purchase. If they had delivered a card to me that delivered on its advertised features (the very reason I bought it!) I would have likely purchased AMD products instead.

This is your particular case. My experience with AMD/Nvdia have been more favorable with AMD than with Nvidia(Comparing with Nvidia cards with drivers newer than 320.00).
 
Last edited:

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
GameWorks is not as bad as it seems. There will be many new effects on the new consoles that simply cannot be ported to Direct3D, because of the API latency. Mantle is a solution for this, but only for the GCN GPUs. Another solution is GameWorks. This SDK is a big "out of box" library, with many working effects. It can be used for bad things, but in the end GameWorks will be good for the industry, because many developers won't develop a D3D port for every console or Mantle effect, so they can easily use an "out of box" GameWorks solution for the problem. It may not be the same quality, but better than nothing.

Ah,
"porting to Mantle"?!

Did you read the Xbox One blog posting from Microsoft? There is no Mantle support and i think not even a very low level access to the gpu.
And even Microsoft wrote that they want to port their games easily from one plattform to another.

Sony is using their own GL. You can port these games even to Android. This happen with a few PS3 games right now.

There is nothing like "porting to Mantle". There is only "development of a Mantle path".
 

Lonbjerg

Diamond Member
Dec 6, 2009
4,419
0
0
Ah,
"porting to Mantle"?!

Did you read the Xbox One blog posting from Microsoft? There is no Mantle support and i think not even a very low level access to the gpu.
And even Microsoft wrote that they want to port their games easily from one plattform to another.

Sony is using their own GL. You can port these games even to Android. This happen with a few PS3 games right now.

There is nothing like "porting to Mantle". There is only "development of a Mantle path".

The "Mantle in consoles" myth still refuses to die I see...
 

3DVagabond

Lifer
Aug 10, 2009
11,951
204
106
Ah,
"porting to Mantle"?!

Did you read the Xbox One blog posting from Microsoft? There is no Mantle support and i think not even a very low level access to the gpu.
And even Microsoft wrote that they want to port their games easily from one plattform to another.

Sony is using their own GL. You can port these games even to Android. This happen with a few PS3 games right now.

There is nothing like "porting to Mantle". There is only "development of a Mantle path".

He never claimed that Mantle is in XBox1. What he said was to make it easier to port console features. Nowhere did he say, or even insinuate Mantle was on consoles.

The "Mantle in consoles" myth still refuses to die I see...

Mainly because it keeps being brought up by people trying to bash Mantle. You and Sontin are the ones talking about it.
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
He never claimed that Mantle is in XBox1. What he said was to make it easier to port console features. Nowhere did he say, or even insinuate Mantle was on consoles.

You can't port something which doesn't exist on consoles.
So yes, either he believes that the consoles support a Mantle like API or not.

Microsoft made it very clear: http://blogs.windows.com/windows/b/appbuilder/archive/2013/10/14/raising-the-bar-with-direct3d.aspx

1. Using Direct3D 11 for game development is your first step.

2. Your investments Direct3D 11 carry forward across of Microsoft’s devices. Direct3D is the starting point for games on Windows PC’s and Tablets, Windows Phone, or Xbox One.


So no, if a developer builds a new game for the Xbox One they should start with D3D 11 and then port it to the One or any other Windows plattform.


Optimization happens after the porting to the target plattform.
 

AtenRa

Lifer
Feb 2, 2009
14,003
3,362
136
I believe he said you can port a console game to PC and use Mantle/Gamework for more features that are not present in the console game. That doesnt mean that Mantle/Gamework is a console feature.

Mantle and Gamework are made for the PC, they are made to make the PC games easier to make/code and faster and/or with more features.
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
I believe he said you can port a console game to PC and use Mantle/Gamework for more features that are not present in the console game. That doesnt mean that Mantle/Gamework is a console feature.

I hope not, that he tried to say that.
Gameworks run over the API level. Mantle is an API. You can use Gameworks for console games only because that the advantage of using a high level API.

Mantle and Gamework are made for the PC, they are made to make the PC games easier to make/code and faster and/or with more features.

No, that's wrong. Mantle is made for the PC only, Gameworks is created to help make creating of certain effects much easier for developers. It's like PhysX: A set of tools for creating effects.

Mantle will always need additional work from the developers because you can't port any "low level access" methods from the consoles to the pc.
Gameworks will run on every supported plattform after you implemented it into the game engine.

nVidia is doing the same kind of work they did and still doing with Cuda: Make "programming" easier. AMD on the other hand want to make it more "difficult" because a new API doesn't resolve the problem of content.
 

AtenRa

Lifer
Feb 2, 2009
14,003
3,362
136
I hope not, that he tried to say that.
Gameworks run over the API level. Mantle is an API. You can use Gameworks for console games only because that the advantage of using a high level API.

You cannot use CUDA/PhysX which is part of GameWorks in consoles. You cannot use any Gamework feature that is CUDA/PhysX related(compute) to a non NVIDIA GPU hardware console or not.

No, that's wrong. Mantle is made for the PC only, Gameworks is created to help make creating of certain effects much easier for developers. It's like PhysX: A set of tools for creating effects.

Mantle will always need additional work from the developers because you can't port any "low level access" methods from the consoles to the pc.
Gameworks will run on every supported plattform after you implemented it into the game engine.

nVidia is doing the same kind of work they did and still doing with Cuda: Make "programming" easier. AMD on the other hand want to make it more "difficult" because a new API doesn't resolve the problem of content.

Since you need CUDA/PhysX, thus NVIDIA Hardware, then you cannot use any CUDA/PhysX related features except in PC and Android (Tegra).

So, in order to have the full Gamework features you need a NVIDIA GPU. That makes it the same as Mantle. ;)

edit: One more thing, Mantle will be incorporated in to the Game Engine (FrostBite 3 etc), no additional work for the Game developer. On the contrary, the Game developer will have more powerful tools to create, debug and more features to use with Mantle than without.
 
Last edited:

SiliconWars

Platinum Member
Dec 29, 2012
2,346
0
0
Yes "more difficult", let's see.

slide-31-638.jpg


Shares concepts, methods and optimization stages with PS4. That doesn't sound more difficult than DX to me.

slide-32-638.jpg


Significantly easier to do efficient render with Mantle than with OpenGL.

The only myth that keeps cropping up is the myth that Mantle makes it harder for devs to get results.
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
You cannot use CUDA/PhysX which is part of GameWorks in consoles. You cannot use any Gamework feature that is CUDA/PhysX related(compute) to a non NVIDIA GPU hardware console or not.

Meh. You didn't understand the concept of a high level API. Cuda and PhysX run on every supported backend - PhysX supports x86, ARM, PowerPC, Cell and Cuda.

So, in order to have the full Gamework features you need a NVIDIA GPU. That makes it the same as Mantle. ;)
You dont need to use the "full Gamework" set.


edit: One more thing, Mantle will be incorporated in to the Game Engine (FrostBite 3 etc), no additional work for the Game developer. On the contrary, the Game developer will have more powerful tools to create, debug and more features to use with Mantle than without.
Brings us back to point one.
Seriously: Do you really believe that you only need to push a button to translate DX HLSL code to Mantle HLSL and get the whole performance advantage?! o_O

/edit: I would not post slides from a guy who cant even hit his own timeframe.
 

AtenRa

Lifer
Feb 2, 2009
14,003
3,362
136
Meh. You didn't understand the concept of a high level API. Cuda and PhysX run on every supported backend - PhysX supports x86, ARM, PowerPC, Cell and Cuda.

You dont need to use the "full Gamework" set.

Then why even use GameWorks if you cannot use the whole package ??? Even if Gameworks can be used in Consoles, you will not be able to have CUDA/PhysX features in XBone or PS4 simple because they have AMD GCN iGPUs and not NVIDIA GeForce.


Brings us back to point one.
Seriously: Do you really believe that you only need to push a button to translate DX HLSL code to Mantle HLSL and get the whole performance advantage?! o_O

Do you understand what incorporated in to the Game Engine means ??
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
Wait - now the Mantle patch is delayed because of Kaveri?
Haha.

Then why even use GameWorks if you cannot use the whole package ??? Even if Gameworks can be used in Consoles, you will not be able to have CUDA/PhysX features in XBone or PS4 simple because they have AMD GCN iGPUs and not NVIDIA GeForce.

So what?
If a developer wants to use only HBAO+, then he doesnt need to support any other features.
A very simple and clever concept.

Do you understand what incorporated in to the Game Engine means ??
Yes, i do. But you're missing the understanding of what an API is.
So good luck in believing that they only need to push a button.
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
Lol, what a failure.

But i guess it was so easy to hit the december date that they postphoned it into January - just for the fun.

Bitboys would be proud of AMD and Dice.
 

AtenRa

Lifer
Feb 2, 2009
14,003
3,362
136
Yes, i do. But you're missing the understanding of what an API is.
So good luck in believing that they only need to push a button.

Like PhysX is incorporated in to Unreal Engine 3, the same will be with FrostBite 3 and Mantle.

When you make a game you use the same Game Engine for all the platforms (PC, Consoles, Windows, Linux etc). Having PhysX and Mantle incorporated in to the Game Engine means the developer has more tools and needs LESS time to debug and create the game. Since all the features are within the same Game Engine the developer can port from one platform to the other easier. That translates to less time, thus less resources, thus less money spend.

So even if Mantle is a different API, it will be easier to port games within the same GameEngine. ;)