AMD says Nvidia’s GameWorks “completely sabotaged” Witcher 3 performance
arstechnica.co.uk
arstechnica.co.uk
NVIDIA must be loving this controversy as it was the whole game plan all along.
http://games.slashdot.org/comments.pl?sid=6048819&cid=483821...
Choice quote: "Nvidia literally doesn't care if bouncing ten simple particles on your screen uses 30% of your GPU performance, so long as the same effect on an AMD GPU takes 80%. Nvidia is this dirty."
I have to get ACU down to sub-720p resolution to even get more than 20fps. It's ridiculous.
Why is that, though? Why can't AMD do whatever Nvidia's doing to make it just as fast on their system?
Just look at how Apple pretty much gets to set up a store inside university libraries. Or how the likes of Adobe or Microsoft will throw virtually free copies of their products at students.
Damn it, is swear Gates has said he would rather see people pirate Microsoft products than adopt alternatives for personal use.
Students don't walk into university libraries and get a $200 check from Apple to use OSX.
I don't know why they haven't already done it.
[1]: http://appleinsider.com/articles/14/07/01/apples-back-to-sch...
I built a custom AMD computer to meet the recommended specs for Watch Dogs and after launch I find out that the AMD recommended specs don't provide the same performance as the recommended Intel/nvidia specs. Something like 70% of the performance is gone on AMD. I don't want to worry about politics, I just want to play my game.
But second, seriously? No logical reason to stick with AMD? You have no moral dilemma here? So you want to continue buYing from the company that lies about their most popular card's specs then refuses to apologize and instead tells you how grateful you should be? A company that intentionally sabotages performance of their last generation of cards because it might make the new one look bad and it may make people buy a new card (then we'll do it again next generation!)? A company that attacks open standards and tries to create schisms in the community? Can you not see what they'd do if they didn't have a competitor? And don't forget - this is all in trade for a 5% performance improvement and some power draw reduction. That's just sad.
"Sad" can also be accepting inferior products because of emotional and moral reasons.
We're not talking about human rights violations or something here, so not everyone has an appetite for moral grandstanding and voting with your wallet.
"A company that attacks open standards and tries to create schisms in the community? "
Amusingly, many software darlings of Silicon Valley behave poorly. Uber, Twitter, Apple, Google, Facebook all behave aggressively anti-competitively in their own immoral and unique ways. Every company I listed attacks open standards in some way or another and creates schisms in communities on a regular basis (or their entire market is based on such walled schisms of larger markets).
If you're the kind of person who assess all hardware and software from a moral perspective, then that's an interesting and rare way to approach your decisions in this space, but not everyone finds it "sad" to use "use the best available".
Sure, back when a card where more than doubling in speed every year this was less of an issue. However, now that things have slowed down your better off getting a high end AMD card than a mid-range nVidia with forced obsolescence.
PS: And I say this as someone that has been using nVidia cards for a while, but watching framerates drop when replaying older titles is simply unacceptable.
This isn't even really a moral argument anymore. If you buy Nvidia you can't have good faith they'll continue to develop and optimize your card the next year when new cards are out. You can't be sure that when games that push it are released you won't stutter uncontrollably, or your stay doing GPGPU work with specific hardware in mind and its not running right because they lied about specs, etc.
And again - 5% performance difference, $100 more expensive, and not the best available (that would be 980/295x2/titan x).
Like I said, I don't want to play politics. I don't care about which option is morally superior. I worry about moral choices all day, I take the moral high ground where I can, I recycle and I buy fair trade coffee and I make sure my clothes don't come from sweatshops, but at the end of the day... I just want to play my video games. I owe absolutely nothing to AMD, they've never saved my kitten from a tree, so logically why would I buy their products if there is something that works better?
I mean if you want to bring up morals, think about that power draw reduction... I'm getting that power from a coal plant down the road. Isn't the morally correct option to go with hardware that draws less power so I can save the environment?
This is BS. Morality is extensively covered in game theory and is all about getting the best possible outcome for every member of the group, including not fucking yourself over long-term.
We don't buy Nvidia when they do this shit, because doing otherwise will encourage them to do it and fuck us over in the long-term when they potentially put AMD out of business in the long term and then they have us by the balls. More importantly, if all of us will sacrifice a little in the short term, we will ALL be better off in the long term.
It's logical, it's just not purely selfish (but a four year old could tell you that).
I see absolutely no evidence that this is remotely true. At best there is evidence that AMD is incompetent.
So morality doesn't even enter into the discussion.
If nvidia required exclusivity that would be one thing, but they don't.
With your last sentence, I don't see how meeting the basic "not exclusive" keyword to avoid legal trouble makes this okay? Nvidia doesn't allow the code to be shared or even communication with AMD (correct me if I'm wrong of course). I'm not really sure how AMD is supposed to work with that.
I don't care about hardware vendors. Like I said, AMD has never done a thing for me, so why do I owe them loyalty? Why is AMD suddenly the good guy? Just because they're the underdog doesn't mean they're inherently good.
There's no moral dilemma. None at all. Do I want to buy the fast video card or the slow video card? I want to play my video game. I want to buy the fastest card I can get for the money. I've bought AMD for years only because they had faster and cheaper cards in my price range. That's not true anymore. Maybe someday they'll be able to compete again, and then I will buy their hardware.
If morality was always the logical choice, Nintendo would have the highest selling hardware in video games and everyone would be playing Mario. Instead it's Sony, and everyone is playing EA games. Because people want to play games made by horrible companies on the PS4, not the games made by good companies on the Wii U.
But it doesn't really matter, because right now I have a brand new AMD R9.
[1] http://www.forbes.com/sites/jasonevangelho/2014/05/26/why-wa...
There is no logical choice outside of a decision rule which must rest on first principals that cannot be supported by logic. Morality is a source of such first principals (aesthetics is another, though the boundary between the two is not well-defined.)
You can derive some rules similar to those that some moral systems hold as first principals through game theory starting with simpler first principals, like some particular operationalization of utilitarianism, but that doesn't make morality logical, it makes it possible to use logic to derive a more complex moral framework from a small set of moral axioms. (And it may provide a tool for simplifying some pre-existing moral systems, to the extent that they have a large number of moral axioms but those can be derived from a smaller set of axioms through logic.)
Often economists call it "rational self interest" or just "rational". And most people use the words "rational" and "logical" interchangeably.
It's more like you are trading short term gains (I just want my games to work) for long term losses (Putting Nvidia in a position to continue it's anti-competitive practice, potentially to the point of controlling the PC gaming industry to the detriment of everyone, but themselves, involved).
Everyone talks about voting with your wallet, but suddenly that all goes out the window... remember when AMD was the dominant force when all Intel had was the Pentium 4 and AMD squandered their technical advantage with Bulldozer and other crappy cores?
Yes, $240 r9 290s all the time xs down to $260 at times. The former is very near the 970 and the latter overcomes in many games. Both are preferred at 1440+. A $320 970 is definitely worth it.
You may also want to consider that those AMD cards are years old while those are the newest Nvidia offerings (which aren't significantly better than Kepler - which now has poor driver support for because of this). AMDs 300 series coming out in 2 weeks (ish) is the competitor for maxwell. And instead of a minute cash grab update, it's a significant change.
Edit: There is no problem not buying inferior products. Sometimes there really isn't a choice because of the schism in features or performance. And sometimes the morality involved isn't worth fussing over.
In regards to that AMD comment: I honestly don't know what that has to do with this conversation. Amd isn't infallible amd their history had mistakes as well, but right now they're the best option for GPUs. I'll tell someone to buy Intel for performance everyday though. On the other hand, look at how little innovation Intel had brought up while Amd barely competes with them. Lack of competition produces high prices with little progress.
Moral reasoning is logical reasoning when the base set of axioms are moral axioms. So, "no logical reasoning" implies "no moral reasoning".
Compared to suing your innovative competitors out of business, then buying and burying their technology like Creative [0] or suing countries for attempting to warn their citizens that cigarettes are bad for your health [1], it's almost ethical.
[0]http://en.wikipedia.org/wiki/Aureal_Semiconductor#History [1]http://en.wikipedia.org/wiki/Philip_Morris_v._Uruguay
Money. See the 'Money? What Money? Oh, that money' part of this writing: http://www.tgdaily.com/games/37326-ubisoft-caught-in-a-littl...
Disclaimer of non-fanboy-ism: I don't play video games anymore, and only have graphics via Intel on my machine. No stock in Nvidia or AMD either.
Edit: Found it, and my memory completely sucks. It was an article on gamedev.net about lower-level graphics APIs: http://www.gamedev.net/topic/666419-what-are-your-opinions-o...
It also concerns me for the future of the open source graphics stack. If the proprietary drivers are being updated to fix game specific problems, how are the open source drivers going to fair when the general rule for open source is not to have hacks within a code base.
I can only hope that the Mesa 3D stack comes to Windows in a meaningful way to ensure a common open 3D graphics library. Vulcan might shift the problem to the game engine from the driver but that's a long way off yet.
I'm an outsider, so it's easy for me to sit back and make blanket statements. That being said, the responsibility should lie on game developers to insure their games behave properly on hardware. Making proprietary drivers to address specific games is a bad development practice. Hardware markers should be responsible for insuring their drivers are accurately supporting standards.
It just sounds like the whole games industry has fallen into some really bad development practices.
Without access to the engineer's knowledge of the GPU's hardware, it's hard for the open source developers to even know what they ought to be able to implement. It follows that game studios (and consumers) would be crazy to rely on the coin-flip-odds that an open source implementation will figure out the right thing to do for a particular optimization of the GPU's internals
I am also an outsider, but have had a few friends work on various graphics projects (game engines, CAD software, one of them use to have a map of the OpenGL state machine above his bed). To hear them tell it, trying to maintain absolute "best practices" and only use truly cross-platform, cross-vendor code in your libraries while still hitting deadlines for games is like the mythical web startup that somehow ships despite also investing time in 100% unit test coverage, 100% integration tests, with a little bit of mutation testing and generative testing on top to help test-drive the test suite. That is: it's more of an ideal to strive for than a reality to be lived.
As a Linux user I weep at this state of affairs, but given the way GPUs are made, I don't know what could change.
The Linux kernel devs must have missed a memo then, as they seem quite willing to accept "hacks" if it means that user space can continue running.
The user space middleware seem more willing to blame other tiers when something breaks though.
BTW AMD kinda started this with their TressFX hairs (notably used in new Tomb Raider).
It had similar characteristics to HairWorks - extremely expensive feature for relatively small overall visual impact, better running on AMD than Nvidia GPUs, but still running pretty bad even on high-end GPUs.
Something to keep in mind: those super-duper features you see at GPU launch events, they are mostly just marketing, "halo effect" features, not practical enough to be used in games for almost everybody.
--------
We are speaking about miniscule fraction of all players who have GPUs powerful enough to runs all bells and whistles.
Titan X, the only GPU that can run Witcher 3 fast with HairWorks enabled [1], exists in so small numbers that it doesn't even show up in Steam Hardware survey [2].
GTX 980, the next most powerful GPU, is owned by less than 0.5% of all people who use Steam. And GTX 980 runs 1080p ultra with HairWorks just ~37-40 fps.
GTX 970, the next most powerful GPU, the most popular Maxwell GPU, huge bestseller, is owned by ~3% of Steam users. It's the only remaining GPU that can stay above 30 fps with HairWorks on.
So something like 95+ percent of all gamers are not affected by this issue at all.
--------
The difference is AMD's TressFX source code is open, which allowed Nvidia to resolve the performance disparity without much fuss.
Whereas the Nvidia's HairWorks source code is closed, leaving AMD unable to pitch in engineering resource for a diagnosis or solution.
Not something one can call a start.
Is there a comparable one with it turned off? Because that untextured hair looks completely out of place next to all the other nicely textured & shadowed parts of that scene (well, the chainmail does look amusingly flat where it goes over the shoulder). The hair might move nicely in gameplay, but it looks plain, garish, and low tech in a still.
I suspect this works much better with dark hair, where the texture is not as noticeable as the silhouette.
The hair has nice shape and I believe it has physics, but it totally isn't shaded properly. I'm not sure if they are not using the proper Marschner shader (http://www.ephere.com/plugins/autodesk/max/ornatrix/docs/con...) or if the issue is they are not integrating the environmental lighting properly - could be both.
Don't you mean why you haven't been choosing them. Or are you choosing AMD because they (supposedly) aren't nice to developers?
* Watch Dogs
* The Witcher 3
Both suffer from technical problems with the graphics, don't perform as good as they could (across all systems) and look considerably worse than in the previews.
I like Nvidia cards and drivers, but as a developer I'd stay very clear of Nvidia-exclusive technologies. I guess the business guys must like the free advertising.
Then, maybe a GPU independent HairThing™/intermediate level toolkits can actually flourish.
Everyone else is pretty much forced to turn down some setting or another to hit 60+ fps. And that's just at 1080p! I thought my GTX970 would handle it no problem, but there are still tweaks to be made.
NVIDIA have always claimed that no exclusivity deals are signed with GameWorks. Others have [supposedly] always been welcome to assist game developers during the phases that NVIDIA gets proactively involved in.
It's just an extension of the systemic AMD problem: they [very likely] have the best hardware but their Windows drivers are horrific and not only do they not have developer support; they actually play the victim because others take the initiative. For crying out loud, even Intel has game developer support/code. Correction: it turns out that AMD do actually have some open source libraries for game devs.
The problem here isn't NVIDIA. NVIDIA set out to optimize the game as best as they could for their hardware. AMD didn't set out to do anything: once again they sabotaged themselves by not getting involved. If I'm lazy and I get left behind that is my fault, not the fault of the other guy who did what I didn't do.
Your point about hardware differences makes more sense; I don't expect AMD to admit that their hardware is simply not as suited for the task as Nvidia's is.
Open Source drivers for NVIDIA suck due to lack of documentation. If AMD has a difficult time than Open Source drivers are doomed.
AMD does make good hardware and it has traditionally been a good company. The issue is the lack of a standard. I don't like non-standard solutions with closed code or hardware.
Of course, I may be exaggerating and government interventions are rarely any good for consumers. It would be better if we, as consumers or developers, would acknowledge such abuse and punish such companies with our thoughts and wallets.
So no, AMD not having access to that source-code is not OK, plus AMD shouldn't have to patch their drivers for that game, because such a practice has far reaching consequences, affecting indie game developers (Nvidia won't patch their drivers for indie games that aren't as popular as Witcher 3), or any operating system that isn't number 1 (which on the desktop means anything non-Windows).
What you say about HairWorks optimization is true, but you can't hold the fact that AMD has failed invest against NVIDIA. Look at it this way, if TW3 hadn't added HairWorks everyone would have the static hair meshes. As a game developer I would integrate HairWorks so that I could shine on compatible platforms (albeit I'd probably disable it by default for AMD, instead of having a bad first experience).
It's a pity that the consumer gets caught up in all this. Who's to blame is a lot more difficult to determine than most people think. Purely in terms of graphics cards, NVIDIA has great post-sales support. If I buy an NVIDIA I know games will run well on it because NVIDIA makes sure that they do. This is a pro-consumer post-sales service that I get at absolutely no cost. They are also running up against AMD users in the way that people describe in the comments of that article.
It's not a black and white situation but AMD is certainly not helping in even an insignificant way. AMD customers should be demanding answers from AMD before (not in exclusion to) they demand answers from NVIDIA.
TressFX does the same thing, but AMD worked with Nvidia to optimise it for their GPU as well, so everyone's happy. This would have been objectively better for the user, if you disregard the money the devs received from Nvidia for implementing HairWorks instead of TressFX.
You are strongly misrepresenting the actual situation. AMD is painfully aware that their drivers lack compared to Nvidia but they disagree with the reason. AMD does not want to put nearly as many hacks into the drivers as Nvidia does. They went quite far (by making Mantle) to make the drivers leaner and more predictable.
Nvidia traditionally detects misbehaving game code and patches it up with various degrees in the driver.
> AMD didn't set out to do anything: once again they sabotaged themselves by not getting involved.
AMD made the right step and backed the only thing that will evolve the situation from the status quo: Mantle and now Vulkan/DX12. Otherwise they would always end up playing this game of magical drivers that NVidia supports but nobody likes.
That sounds like an absolute nightmare to maintain.
The solution I guess is to try and find a highly compliant, picky driver, and develop using that, because it is easier to get it right at the beginning than to go back and try to fix things.
I think there are debug wrapper for GL; too much overhead to run in production, but should tell you if you're Doing It Wrong (tm). Have you tried something like Regal?
The issue here isn't that at all. The issue is a turn-key hair rendering solution. ~~Which AMD does not provide.~~ Correction: AMD provides TressFX, which had bad NVIDIA performance before NVIDIA stepped in and fixed it. ~~In fact I can't find any graphics code samples on their website, contrasted with the abundance on the NVIDIA website.~~ Correction: AMD does have samples.
That is incorrect. The issue here is hair rendering which AMD has a turn-key solution for it: TressFX.
What does that have to do with my core point of AMD sitting back and complaining?
> This cannot be said about whatever Nvidia does which cannot be disclosed to IHVs.
NVIDIA provides restricted source to everything but TXAA, PhysX and beta libraries.[1] I'll re-iterate my point: AMD would have access to the code if they walked in the door.
[1]: http://www.pcper.com/reviews/Editorial/NVIDIA-and-AMD-Fight-...
AMD: here is the code, optimize it.
NVidia: there is the binary blob (you can't look at the code), feel free to make your card exhibit the same performance characteristics as our geforce reference cards without infringing on our patents. No, you can't change the code. You could hot patch game executables though.
AMD is not allowed to look at the source.
There is no chance of the same happening with AMD and TW3, since at least at the beginning of 2014:
According to Nvidia, developers can, under certain licensing circumstances,
gain access to (and optimize) the GameWorks code, but cannot share
that code with AMD for optimization purposes.
See [2] for the source of that statement.The situation is really that different.
[1] http://www.eurogamer.net/articles/2013-03-07-nvidia-apologis...
[2] http://www.extremetech.com/extreme/173511-nvidias-gameworks-...
If NVIDIA is actively restricting access to the code for HairWorks that is indeed very scummy, however, they would technically still be within their rights.
[1]: http://www.pcper.com/reviews/Editorial/NVIDIA-and-AMD-Fight-...
Intel was still within their right (technically) when it forced their own compiler to compile non-optimized code for AMD CPUs. That does not make it right for us, the customers, this is the point I wanted to make.
That's an discussion that's likely to never come to a sensible conclusion :). The AMD/NVIDIA situation is definitely one of the negative outcomes of an open/competitive marketplace.
Note that AMD also has a program that help developers write shaders and optimize their engines to work better on AMD cards. But that does not prevent NVIDIA to see the code and optimize their own drivers accordingly.
So, to me the problem here seems NVIDIA's attitude to sabotage (for no technical reason, except economics, see the physX on x86 debacle when they refused to compile code for something else that i386) performance on other platforms for their own gain. Like physX, Gameworks is already showing itself for what it is and will eventually fail and be forgotten. And people will believe that AMD is at fault for the next NVIDIA "magic technology" that brought no gain whatsoever to the gaming world.
Why didn't NVIDIA make HairWorks, NVIDIA's software, run properly on AMD cards? Given that NVIDIA has the full source, that should have been possible.
How do you optimize code you have no access to?
"It's just an extension of the systemic AMD problem: they [very likely] have the best hardware but their Windows drivers are horrific and not only do they not have developer support; they actually play the victim because others take the initiative."
Like how a Project Cars developer or spokesman claimed that AMD did not help for months only to be completely disputed later on? Also, ask Kepler owners about their current driver support in recent titles. They are not happy.
"NVIDIA set out to optimize the game as best as they could for their hardware."
AMD helped optimise several titles that worked just as well on NVidia (excep that one Tomb Raider fiasco, what was solvable doe to the openly available TressFX code. Can we say the same about hairworks?). But somehow many NVidia titles are optimised in a fancy way that always hits hard on AMD cards (Crisis 2 and Batman AA come in as uncovered examples).
"AMD didn't set out to do anything: once again they sabotaged themselves by not getting involved."
I guess you can back up that statement.
Edit: wording, grammar
And Nvidia? There are a large number of reports that the latest drivers cause crashes and there have been problems in the past too.
I don't think the difference between AMD and nvidia is nearly as wide as nvidia fans want you to believe.
"Optimisation" may include "throw away the shaders provided by the game and replace them with entirely different ones written by NVIDIA for this specific game".
May be with emergence of Vulkan, developers won't need to use these vendor specific APIs, since they'll have low level enough access to implement their own physics logic efficiently on all GPUs.
What is "everything"? PC Gaming is nVidia centric because they put a lot of money behind it. AMD supplies the chips for all next gen consoles so by pure market penetration in the gaming market, I'm pretty sure they are doing quite well.
I just feel like it would be more beneficial to improve communication and developer support instead of generating negative PR by saying things like nvidia "completely sabotaged" performance when in fact all they really did according to developers is they had a good product and they were always available.
@down voter: do you mind to share your thoughts
The PR team did good though, because visually the game has the same issues as Watch Dogs, but it isn't getting anywhere as much hate for it.