Ubisoft Now Blames AMD For Assassin's Creed Unity Poor Performance

Update:  Ubisoft has amended the original forum post to include and acknowledge problems on Nvidia hardware as well. We're glad the company has explicitly adjusted the post and will update readers if any major performance patches push out.

Life is hard when you're a AAA publisher. Last month, Ubisoft blamed weak console hardware for the troubles it had bringing Assassin's Creed Unity up to speed, claiming that it could've hit 100 FPS but for weak console CPUs. Now, in the wake of the game's disastrous launch, the company has changed tactics -- suddenly, all of this is AMD's fault. An official company forum post currently reads:
We are aware that the graphics performance of Assassin’s Creed Unity on PC may be adversely affected by certain AMD CPU and GPU configurations. This should not affect the vast majority of PC players, but rest assured that AMD and Ubisoft are continuing to work together closely to resolve the issue, and will provide more information as soon as it is available.
There are multiple problems with this assessment. First, there's no equivalent Nvidia-centric post on the main forum, and no mention of the fact that if you own an Nvidia card of any vintage but a GTX 970 or 980, you're going to see less-than ideal performance.

Problems like this aren't just happening to AMD users:  Image credit Kotaku

Tech Report has rounded up a summary of the various reported problems. PC World reports that the GTX 760 is "really rough," thanks mostly to the huge numbers of crowds Ubisoft stuffed into the game and the resulting impact on frame rates. This game simply doesn't run particularly well on anything but the latest cards, and even then, turning on MSAA causes the frame rate to crater.

The bigger problem, though, is that posts like this imply that AMD users are the only people seeing issues. As someone who has played the game on both the NV GTX 980 and 780, let me promise you -- that's not true.

NPCs and sometimes entire crowds of people pop in and out of frame on the GTX 980. I've seen unkillable enemies, or enemies that were supposed to run away from me stand stock still instead, as though taking in the admittedly gorgeous scenery. Nvidia may have paid Ubisoft a goodly sum of money to adopt GameWorks, but that hasn't translated to great game stability -- at least, not yet.

Note: Just to be clear, the GameWorks features in Assassin's Creed Unity have no impact on stability, pro or con.

According to sources we've spoken to that are familiar with the matter, the main culprit in this situation isn't AMD or Nvidia -- it's Ubisoft. The company couldn't go directly on the record, but sources with information on the topic were willing to talk about the problem.

Draw Calls Damage Performance

According to our source, the problem with Assassin's Creed Unity is that the game is issuing tens of thousands of draw calls -- up to 50,000 and beyond, in some cases. This is precisely the kind of operation that Mantle and DirectX 12 are designed to handle, but DirectX 11 -- even 11.2 -- isn't capable of efficiently processing that many calls at once. It's a fundamental limit of the API and it kicks in harshly in ways that adding more CPU cores simply can't help with.

But the reason we're willing to call this out as a shoddy console port is simple math. The Jaguar CPU inside the Xbox One and the PS4 has low-latency access to the hardware  -- but consider the difference between the CPUs inside a high-end PC and the far more modest chips inside these consoles.

AMD's Jaguar is actually a very well-balanced design, but it's still a dual-issue processor capable of executing a maximum of two instructions per clock. A modern Haswell is likely between 30-50% faster than Jaguar at the same clock speed -- possibly more, depending on instruction mix. Factor in the clock speed differences and the greater number of threads (a modern console will only have 6-7 CPU cores depending on OS allocation compared to four cores / eight threads on a high-end desktop Haswell) and the Intel chip is likely 3-5x faster than its console counterpart.

This is a Mantle-centric slide, but it makes the point. Historically on DX11, best performance comes from keeping draw calls small.

Low-level hardware access allows for impressive tricks and scaling, but it's not magic -- and a really high-end PC packs more than enough punch to offset the difference unless< the game is fundamentally handicapped in a way that no amount of modern hardware can really fix. Insane draw calls are precisely that kind of problem -- DX11 just isn't built for them, and throwing faster hardware at the issue will only result in modest improvement.

I'm willing to trust this explanation of the problem because it fits the facts. It's not like GeForce users are seeing great performance either, and draw calls are an issue that would affect both cards.

Ubisoft Needs To Acknowledge Nvidia Users Have Problems, Too

I get that Nvidia is a major Ubisoft partner and that the company's GameWorks middleware is heavily featured in ACU, but right now the implication of that AMD post (and the lack of an Nvidia counterpart) is that only AMD users are having problems.

There have been times when one company or the other launched with a vastly superior driver -- but this doesn't seem to be one of them. Issues are popping up on all cards from both companies, and Ubisoft needs to acknowledge that the problems are its own fault -- not AMD's and not Nvidia's.

To its credit, Ubisoft has announced a live blog that will track updates to the game and prominent issues in real time.