http://www.reddit.com/r/pcgaming/com...why_we_should/
"So I like many of you was disappointed to see poor performance in project cars on AMD hardware. AMD's current top of the like 290X currently performs on the level of a 770/760. Of course, I was suspicious of this performance discrepancy, usually a 290X will perform within a few frames of Nvidia's current high end 970/980, depending on the game. Contemporary racing games all seem to run fine on AMD. So what was the reason for this gigantic performance gap?
Many (including some of you) seemed to want to blame AMD's driver support, a theory that others vehemently disagreed with, given the fact that Project Cars is a title built on the framework of Nvidia GameWorks, Nvidia's proprietary graphics technology for developers. In the past, we've all seen GameWorks games not work as they should on AMD hardware. Indeed, AMD cannot properly optimize for any GameWorks based game- they simply don't have access to any of the code, and the developers are forbidden from releasing it to AMD as well. For more regarding GameWorks, this article from a couple years back gives a nice overview
Now this was enough explanation for me as to why the game was running so poorly on AMD, but recently I found more information that really demonstrated to me the very troubling direction Nvidia is taking with its sponsorship of developers. This thread on the anandtech forums is worth a read, and I'll be quoting a couple posts from it. I strongly recommend everyone reads it before commenting. There are also some good methods in there of getting better performance on AMD cards in Project Cars if you've been having trouble.
Of note are these posts:
The game runs PhysX version 3.2.4.1. It is a CPU based PhysX. Some features of it can be offloaded onto Nvidia GPUs. Naturally AMD can't do this.
In Project Cars, PhysX is the main component that the game engine is built around. There is no "On / Off" switch as it is integrated into every calculation that the game engine performs. It does 600 calculations per second to create the best feeling of control in the game. The grip of the tires is determined by the amount of tire patch on the road. So it matters if your car is leaning going into a curve as you will have less tire patch on the ground and subsequently spin out. Most of the other racers on the market have much less robust physics engines.
Nvidia drivers are less CPU reliant. In the new DX12 testing, it was revealed that they also have less lanes to converse with the CPU. Without trying to sound like I'm taking sides in some Nvidia vs AMD war, it seems less advanced. Microsoft had to make 3 levels of DX12 compliance to accommodate Nvidia. Nvidia is DX12 Tier 2 compliant and AMD is DX12 Tier 3. You can make their own assumptions based on this.
To be exact under DX12, Project Cars AMD performance increases by a minimum of 20% and peaks at +50% performance. The game is a true DX11 title. But just running under DX12 with it's less reliance on the CPU allows for massive performance gains. The problem is that Win 10 / DX12 don't launch until July 2015 according to the AMD CEO leak. Consumers need that performance like 3 days ago!
In these videos an alpha tester for Project Cars showcases his Win 10 vs Win 8.1 performance difference on a R9 280X which is a rebadged HD 7970. In short, this is old AMD technology so I suspect that the performance boosts for the R9 290X's boost will probably be greater as it can take advantage of more features in Windows 10. 20% to 50% more in game performance from switching OS is nothing to sneeze at.
AMD drivers on the other hand have a ton of lanes open to the CPU. This is why a R9 290X is still relevant today even though it is a full generation behind Nvidia's current technology. It scales really well because of all the extra bells and whistles in the GCN architecture. In DX12 they have real advantages at least in flexibility in programming them for various tasks because of all the extra lanes that are there to converse with the CPU. AMD GPUs perform best when presented with a multithreaded environment.
Project Cars is multithreaded to hell and back. The SMS team has one of the best multithreaded titles on the market! So what is the issue? CPU based PhysX is hogging the CPU cycles as evident with the i7-5960X test and not leaving enough room for AMD drivers to operate. What's the solution? DX12 or hope that AMD changes the way they make drivers. It will be interesting to see if AMD can make a "lite" driver for this game. The GCN architecture is supposed to be infinitely programmable according to the slide from Microsoft I linked above. So this should be a worthy challenge for them.
Basically we have to hope that AMD can lessen the load that their drivers present to the CPU for this one game. It hasn't happened in the 3 years that I backed, and alpha tested the game. For about a month after I personally requested a driver from AMD, there was new driver and a partial fix to the problem. Then Nvidia requested that a ton of more PhysX effects be added, GameWorks was updated, and that was that... But maybe AMD can pull a rabbit out of the hat on this one too. I certainly hope so.
And this post:
No, in this case there is an entire thread in the Project Cars graphics subforum where we discussed with the software engineers directly about the problems with the game and AMD video cards. SMS knew for the past 3 years that Nvidia based PhysX effects in their game caused the frame rate to tank into the sub 20 fps region for AMD users. It is not something that occurred overnight or the past few months. It didn't creep in suddenly. It was always there from day one.
Since the game uses GameWorks, then the ball is in Nvidia's court to optimize the code so that AMD cards can run it properly. Or wait for AMD to work around GameWorks within their drivers. Nvidia is banking on taking months to get right because of the code obfuscation in the GameWorks libraries as this is their new strategy to get more customers.
Break the game for the competition's hardware and hope they migrate to them. If they leave the PC Gaming culture then it's fine; they weren't our customers in the first place.
So, in short, the entire Project Cars engine itself is built around a version of PhysX that simply does not work on amd cards. Most of you are probably familiar with past implementations of PhysX, as graphics options that were possible to toggle 'off'. No such option exists for project cars. If you have and AMD GPU, all of the physx calculations are offloaded to the CPU, which murders performance. Many AMD users have reported problems with excessive tire smoke, which would suggest PhysX based particle effects. These results seem to be backed up by Nvidia users themselves- performance goes in the toilet if they do not have GPU physx turned on.
AMD's windows 10 driver benchmarks for Project Cars also shows a fairly significant performance increase, due to a reduction in CPU overhead- more room for PhysX calculations. The worst part? The developers knew this would murder performance on AMD cards, but built their entire engine off of a technology that simply does not work properly with AMD anyway. The game was built from the ground up to favor one hardware company over another. Nvidia also appears to have a previous relationship with the developer.
Equally troubling is Nvidia's treatment of their last generation Kepler cards. Benchmarks indicate that a 960 Maxwell card soundly beats a Kepler 780, and gets VERY close even to a 780ti, a feat which surely doesn't seem possible unless Nvidia is giving special attention to Maxwell. These results simply do not make sense when the specifications of the cards are compared- a 780/780ti should be thrashing a 960.
These kinds of business practices are a troubling trend. Is this the future we want for PC gaming? For one population of users to be entirely segregated from another, intentionally? To me, it seems a very clear cut case of Nvidia not only screwing over other hardware users- but its own as well. I would implore those of you who have cried 'bad drivers' to reconsider this position in light of the evidence posted here. AMD open sources much of its tech, which only stands to benefit everyone. AMD sponsored titles do not gimp performance on other cards. So why is it that so many give Nvidia (and the PCars developer) a free pass for such awful, anti-competitive business practices? Why is this not a bigger deal to more people? I have always been a proponent of buying whatever card offers better value to the end user. This position becomes harder and harder with every anti-consumer business decision Nvidia makes, however. AMD is far from a perfect company, but they have received far, far too much flak from the community in general and even some of you on this particular issue.
EDIT: Since many of you can't be bothered to actually read the submission and are just skimming, I'll post another piece of important information here: Straight from the horses mouth, SMS admitting they knew of performance problems relating to physX
I've now conducted my mini investigation and have seen lots of correspondence between AMD and ourselves as late as March and again yesterday.
The software render person says that AMD drivers create too much of a load on the CPU. The PhysX runs on the CPU in this game for AMD users. The PhysX makes 600 calculations per second on the CPU. Basically the AMD drivers + PhysX running at 600 calculations per second is killing performance in the game. The person responsible for it is freaking awesome. So I'm not angry. But this is the current workaround without all the sensationalism."