Slashdot Mirror


Ubisoft Claims CPU Specs a Limiting Factor In Assassin's Creed Unity On Consoles

MojoKid (1002251) writes A new interview with Assassin's Creed Unity senior producer Vincent Pontbriand has some gamers seeing red and others crying "told you so," after the developer revealed that the game's 900p framerate and 30 fps target on consoles is a result of weak CPU performance rather than GPU compute. "Technically we're CPU-bound," Pontbriand said. "The GPUs are really powerful, obviously the graphics look pretty good, but it's the CPU that has to process the AI, the number of NPCs we have on screen, all these systems running in parallel. We were quickly bottlenecked by that and it was a bit frustrating, because we thought that this was going to be a tenfold improvement over everything AI-wise..." This has been read by many as a rather damning referendum on the capabilities of AMD's APU that's under the hood of Sony's and Microsoft's new consoles. To some extent, that's justified; the Jaguar CPU inside both the Sony PS4 and Xbox One is a modest chip with a relatively low clock speed. Both consoles may offer eight CPU threads on paper, but games can't access all that headroom. One thread is reserved for the OS and a few more cores will be used for processing the 3D pipeline. Between the two, Ubisoft may have only had 4-5 cores for AI and other calculations — scarcely more than last gen, and the Xbox 360 and PS3 CPUs were clocked much faster than the 1.6 / 1.73GHz frequencies of their replacements.

29 of 338 comments (clear)

  1. Linked? by Fwipp · · Score: 3, Interesting

    "We could be running at 100fps if it was just graphics, but because of AI, we're still limited to 30 frames per second."

    Uh, have you guys tried running the AI calculations less frequently than graphics redraws? You don't have to keep them in sync, you know.

    1. Re:Linked? by GameMaster · · Score: 3, Interesting

      It's quite possible that he means they have artificially slowed down the graphics rendering to provide more cycles to the AI.

      --

      Rules of Conduct:
      #1 - The DM is always right.
      #2 - If the DM is wrong, see rule #1
    2. Re:Linked? by lgw · · Score: 4, Insightful

      Some engines don't give you much choice. I'd hope modern games aren't still stuck in the single-threaded, hard-clocked world of yesteryear, but you never know.

      It's also possible they're using some very slow high-level language for the AI, and/or that no one's ever done an algorithmic optimization pass on the AI code, and they just couldn't keep up with the pipeline of collision events and whatnot that are often tightly coupled with framerate.

      I've been amazed in some MMOs how server performance will be totally trashed by some patch to the AI, and completely restored by the next. Poorly thought out AI code can certainly bring a CPU to its knees.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re:Linked? by Forever+Wondering · · Score: 5, Insightful

      It's probably not the AI calculations related to gameplay, but Ubisoft's AI calculations related to their DRM that get highest priority in their games ...

      --
      Like a good neighbor, fsck is there ...
    4. Re:Linked? by donscarletti · · Score: 5, Interesting

      I'm an engine programmer who has been lead on 2 published titles (PC not console).

      I'm pretty sure they thought of that too and already did it. One has to write multi-threaded code for these consoles since they are multi-cored and otherwise most of the resources are wasted. Multi-threaded code is really easy to arbitrarily set tick frequencies and lock contention on the rendering thread is actually lower when you set the tick frequency of things like physics and AI to a lower frequency to your FPS, especially if your FPS is not an even multiple of this frequency. We run Havok at 50hz and render at 60fps, it sounds counter-intuitive, but it looks and feels great.

      The things is though, this game is obviously either GPU limited or close to becoming GPU limited. The key here is not the 30fps, which without looking at profiling results, could be equally easily explained by CPU limiting or GPU limiting, but the resolution of 900p, which the CPU should have absolutely nothing to do with. So you cannot confidently say that it is GPU limited now, but it certainly would be at 1080p, otherwise they would have just upped the res without it slowing the framerate.

      The issue here is Vincent Pontbriand is probably not a technical guy. Roles between companies vary and it's hard to know who if anyone reports to a "Senior Producer". If the engine programmers reported to him, it would be possible that he was lied to, since explaining exactly why framerates are the way things are is often tiresome and complex, since bottlenecks can be in many different places in the GPU pipeline (geometry, shader, input, texture, ROP, framebuffer) and the position of the bottleneck may shift while rendering a single frame, the bottleneck can also shift between the CPU and the GPU during a singe frame if the instruction buffer fills up. As it is, they probably don't report to him, so I would say that he probably just doesn't know the whole picture.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    5. Re:Linked? by Anonymous Coward · · Score: 3, Interesting

      Oh but every engine is still doing this.

      Crytek 3 ? Still locked to one CPU core
      Unity? Still locked to one CPU core

      Even though they may do "multithreaded rendering" this really only means the CPU part of the rendering splits passes. The entire calculations are still being done as though they were single threaded.
      In a single threaded game, I might do A,B,C,D,E in that order, but if I have more cores, I'll just stick all these on separate threads... and hope the damn OS schedules it properly. So instead of getting 100% of a CPU core in a single threaded game, I'll get 100% of that first core, and then maybe get only 10-15% from the entire rest of the cores, because these other threads aren't really doing anything above what the single threaded main wait-loop is doing.

      And then you have games like Minecraft that use Java and are incapable of taking advantage of more than one cpu core, and the "PS2" graphics are intentional because the software stack is too slow.

      Ubisoft's whine in thie respect is them not being able to do what I described. putting A,B,C,D,E,F on separate threads isn't helping anything because the cores are slower. They don't want to actually design the game engine to parallelize the CPU-heavy parts, which is... you know... hard.

      CPU's are not getting faster. As long as we keep pretending mobile-phone CPU's are the same target as a desktop, the guys buying the CPU's will continue to put the cheapest parts into mobile devices, thus leaving us with the kind of problem in the Xbox One and PS4, where the cheapest commodity CPU parts are being used instead of more capable, albeit expensive parts.

  2. clockspeed really? by Anonymous Coward · · Score: 5, Insightful

    can we please stop pretending clockspeed has anything to do with performance?

    as has been said a million times

    CLOCKSPEED IS ONLY FOR MEASURING APPLES WITH APPLES.

    different CPU generations are INCOMPARABLE using clock speed.

    so for instance a sandy bridge at 2.0 ghz is slower than a haswell at 2.0ghz, even with the same ghz number.

    Benchmarking is the only way.

    1. Re:clockspeed really? by SumDog · · Score: 3, Insightful

      Very true. We have 1Ghz processors today than can outperform yesterdays 1.8Ghz processors.

    2. Re:clockspeed really? by Wootery · · Score: 5, Informative

      Well... not really. The PS3 was the Cell, which features a PowerPC core to feed the SPEs. It's not helpful to just call it PowerPC.

      The Xbox 360's Xenon CPU, on the other hand, was a 'conventional' tri-core PowerPC (6 logical cores).

    3. Re:clockspeed really? by schlachter · · Score: 4, Interesting

      Oh, yea?

      An Intel 1.7Ghz i7 is TWENTY FIVE times faster than an Intel Pentium 4 4.0Ghz
      http://www.cpubenchmark.net/co...

      That settles it. Ignore clock speed across generations.

      --
      My God can beat up your God. Just kidding...don't take offense. I know there's no God.
  3. clock speed is not the right comparison by schlachter · · Score: 4, Insightful

    Ubisoft may have only had 4-5 cores for AI and other calculations — scarcely more than last gen, and the Xbox 360 and PS3 CPUs were clocked much faster than the 1.6 / 1.73GHz frequencies of their replacements.

    Clock speed is not a good comparison. These processors should process data much faster than those in the Xbox 360 and PS3 despite the clock speed differences.

    CPU that has to process the AI, the number of NPCs we have on screen

    Maybe you didn't target your game properly.

    Many Nintendo games run in 1080p and 60 frames/second on the Wii U which is much less powerful...because Nintendo makes that their target when deciding how much AI and graphics detail to put on the screen at once.

    --
    My God can beat up your God. Just kidding...don't take offense. I know there's no God.
    1. Re:clock speed is not the right comparison by AmiMoJo · · Score: 5, Insightful

      Maybe you didn't target your game properly.

      I think what Ubisoft is trying to say here is that it's programmers are shit, and so is it's game engine (AnvilNext). Other publishers manage to do okay, but poor old Ubisoft are stuck with this turd and can't just switch to Unreal or something more competent, so sorry guys you only get 900p on consoles.

      I mean, obviously if you are CPU bound the solution is to reduce the load on the GPU by making the game render at 900p. The problem is the AI for the large number of characters in the game, so clearly reducing the pixel count will help with that.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  4. Hey Ubisoft, maybe you should stop shitting on PCs by Sycraft-fu · · Score: 4, Insightful

    Just saying if consoles aren't powerful enough to make you happy, well there are these new fangled PC things with a shit ton of CPU, RAM, and other goodies and gamers like me who spend way too much money on them to play games. Of course if you keep taking the attitude that we are all pirates, releasing shitty ports and so on don't be surprised if we aren't so interested in your products

    http://www.escapistmagazine.co....

  5. Cell by SumDog · · Score: 3, Interesting

    I really hate that Sony dropped their cell processors going from the PS3 to the PS4 in favour of an x86 based system. We didn't see a lot of devices using cell and because of that, a lot of cell super-computer clusters were even made using actual PS3s. Even the prior MIPS processers of the earlier PlayStations are used in computer architecture texts books to this day (albeit overly-simplified versions of MIPS's pipling systems).

    I really want to see more architecture options, not less. Intel bought Alpha, killed it, screwed up with their own VLIW attempt with the Itaniums (which use EPIC) and I haven't heard anything about Transmeta in years. Today everything is ARM or x86_64 (with MIPS still seen in some embedded systems, mostly home routers). IBM still produces new POWER systems, but they're limited to a specific server niches.

    1. Re:Cell by craighansen · · Score: 4, Informative

      You haven't heard anything about Transmeta in years because they ceased operating in 2009. The patent portfolio went to Intellectual Ventures, LLC, and licensed in whole or part to Intel, Nvidia, Sony, Fujitsu, and NEC.

    2. Re:Cell by ravyne · · Score: 4, Insightful

      Cell -- at least the part of Cell that provided the computational grunt -- was not a CPU. Cell was a single-core, dual-threaded PowerPC core -- the exact same PowerPC core as the three in the Xbox360, save the extended vector instruction set and registers that Microsoft had added to their implementation. That core was basically the Intel Atom of PowerPC architectures. The better part of Cell was the DSP units, which you can basically think of as SIMD (Like SSE) units that are able to run autonomously from a small pool of local memory. The PowerPC's job is to load the Cell units with work (data and code) and coordinate the results -- they work for the CPU, and aren't capable of much on their own.

      In the PS4, you don't have cell, but instead you have 4 GPU cores dedicated for compute tasks (they don't have the back end necessary to perform rendering, although they can participate in compute tasks that aid the rendering pipeline.) Like Cell, these cores work for the CPU, have generally the same programming model (load them up with code and data and set them to running), and also have the exact same theoretical throughput as Cell had.

      Variety and competition are great, but Cell was nothing special in the sense that what was good and unique about it has been subsumed by GPU compute -- it was ahead of its time, but it hasn't aged nearly as well. Game consoles are a commodity business though, its hard to justify custom or obscure hardware unless its the only way to get the architecture you want, but then you have to teach everyone to use it effectively.

    3. Re:Cell by AmiMoJo · · Score: 4, Insightful

      The problem with the PS3's Cell and the PS2's odd set up before it is that they were both a bugger to get good performance from. It took developers years to get the best from them, and it cost a lot of money to do so. Compare that with systems like the Dreamcast and the two XBOX consoles that were relatively easy to get on with and which had excellent looking games from the start.

      With this generation both Sony and Microsoft realized that games are now so expensive to produce that anything which reduces that cost will be attractive. Most are cross platform too, so if you make your system hard to work with it's going to suffer from lame ports. The PS3 often had that problem, with its versions being inferior to the PC and 360 ones.

      Thus both new systems are basically PCs. Familiar hardware, familiar and fairly easy to work with CPUs, mature tools.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    4. Re:Cell by Dixie_Flatline · · Score: 5, Interesting

      Disclaimer: I work for Ubisoft. I did not work on the game in question and I won't comment on it.

      Now, the PS3. I have a friend that's made a very good living for the last few years doing nothing but PS3 optimisation. He'd go in 3 days a week and make more than I would in a year. The PS3 setup was fiendishly complicated and difficult to wring real performance out of. Even by the end of the cycle, I'd say there were only a few games that significantly made use of the potential power that was available in the PS3. On paper, it was impressive. In practice, it was a mild nightmare. You had completely different tools than when you were making a 360 game. The compiler was different. You had to be a lot more meticulous about where data was and how you were moving it around.

      I worked on the PS4 earlier this year, and it's dead easy to use. The tools integrate well into the environment, and you don't have nearly the same optimisation headaches that you did on the PS3. It's trivially faster than the XBone, and there's virtually no platform specific code (except for the obvious stuff, like connecting to the respective online services, etc.)

      From a developer perspective, the PS4 is a lot nicer than the PS3. That'll mean more simultaneous releases on the PS4 and XBone, and this time there's no delay before the PS4 is at or past parity with its competition (which is more important for Sony and Sony fans, really).

      That's just my opinion on the matter, but Sony really listened to the developer community when it came to tools and ease of use. It may be less interesting, but interesting generally means 'troublesome', not 'exciting' when you're writing software.

  6. boo hoo hoo by cdrudge · · Score: 5, Insightful

    Boo fricking hoo. Learn to develop a game with what you have and quit yer bitching.

    The best damn video game console ever was 8 bits, ran on a single core (usually), at 1.79 MHz IIRC. Gamers then logged just as many hours saving princesses, shooting aliens, and stacking blocks as what gamers do today. And guess what...they loved it. They fucking ate it up and went back for seconds and thirds. No, it wasn't photo-realistic 3D video with dolby-i-don't-give-a-crap sound and 87 button LCD-screen force feedback controllers. We didn't need it because we could have fun with what we had and didn't worry about frame rates or pixel resolutions or how many cores a OS management thread ran on vs graphics cores vs whatever.

    Game designers these days, spoiled rotten little twerps that whine about everything.

    1. Re:boo hoo hoo by neoritter · · Score: 4, Informative

      And back in our days when we wanted to play with our friends we had to trudge 15 miles through 10 feet of snow going up hill both ways!

    2. Re:boo hoo hoo by pla · · Score: 4, Insightful

      Boo fricking hoo. Learn to develop a game with what you have and quit yer bitching.

      More to the point - When you have the luxury of coding for a very specific platform (ie, a gaming console with a known hardware configuration and known performance profile), you have no excuse for failing to adjust your resource demands accordingly. And if you just can't physically dial down the load enough to run well on platform X - You don't release the goddamned game for platform X.

      Re-read that last point, because it nicely translates Pontbriand's whining into plain English: "We promise not to turn down any chance to grab your cash, no matter how shitty the experience for our loyal customers".

    3. Re:boo hoo hoo by PopeRatzo · · Score: 3, Funny

      And back in our days when we wanted to play with our friends we had to trudge 15 miles through 10 feet of snow going up hill both ways!

      Was your Nintendo 64 on the North Pole?

      --
      You are welcome on my lawn.
  7. Where is this interview itself? by craighansen · · Score: 4, Interesting

    TFA just mentions the interview without a clear reference to it. Looking for it I found two other articles that suggest that the 900p resolution and 30fps targets came from other factors. http://www.gamespot.com/articl... says that 30fps is "more cinematic" and 60fps "looked really wierd." http://www.gamespot.com/articl... suggests that some non-graphic computation is going on the GPU, but also has a quote that mentions "technically CPU bound."

    What we don't know from these articles is why some or more of the AI computation can't be done in the GPU.

  8. What's the PC Processor Usage Then by medv4380 · · Score: 4, Insightful

    I suspect BS, but I'll hear out the argument if there is actual evidence. Sliding down the resolution to 900p from 1080p would mostly save you on GPU, and Graphics memory usages. In a more detailed artilce it was stated that they picked 900p because they didn't want to fight with the differences between the XBone and PS4. The main reason the PS4 keeps getting 1080p and the XBone does not is that the memory for the graphics is so much faster. So if someone actually has the PC version and can so that "AI" is burning every processor at 100% then I'll buy their argument as plausable. Until then the story has changed from day to day, and isn't believable. If the AI has something to do with it then the AI coder has probably deadlocked the system when they use multiple cores, and has been cheating by using only one core.

  9. Re:Hey Ubisoft, maybe you should stop shitting on by sandytaru · · Score: 4, Funny

    As someone pointed out a couple weeks ago in a Win8 thread, today's PCs are now so powerful that even Windows can't slow them down. Now that's impressive!

    --
    Occasionally living proof of the Ballmer peak.
  10. Re:Hey Ubisoft, maybe you should stop shitting on by ArhcAngel · · Score: 4, Insightful

    They use all the CPU overhead in your PC to run UPlay to make sure the crappy experience is consistent across platforms.

    --
    "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
  11. This is Ubisoft by Anonymous Coward · · Score: 4, Funny

    ... i thought they were going to blame it on piracy?

  12. Re:Completely full of shit by 0123456 · · Score: 3, Insightful

    If there's one thing the new consoles have right is a mind numbing amount of CPU power.

    Uh, no, they don't. These are low-clocked AMD cores, which have much lower performance than Intel cores at similar clock rates.

    They're equivalent to a PC CPU from several years ago. They sure as heck ain't equivalent to a 3GHz, eight-core, sixteen-thread Xeon (or whatever Xeons are up to these days).

  13. Re:To be fair though by PopeRatzo · · Score: 4, Interesting

    but you ended up paying a whole wedge more for the privilege.

    You pay more, and you get more. You want a game machine that's capable of being a full-blown music recording studio? Or a video editing suite? Or can run Matlab, Mathematica and fluid dynamics simulations? That's a PC.

    Consoles became less interesting to me as I grew up. Games didn't become less interesting to me, but the notion that I would sit in my family's living room with a controller in my hand just became an artifact of childhood.

    Of course, some dedicated game box is going to be less powerful than a PC. The only reason they exist is so that game companies can manage licenses. They're not meant to be for your benefit. They're consumption machines, designed to tie you into a corporate "ecosystem". If I was 13, I would love one. Now, they just seem like evidence of the failure of the gaming market to mature.

    --
    You are welcome on my lawn.