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.

11 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 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
    3. 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. 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 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.

  3. 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.

  4. Completely full of shit by Anonymous Coward · · Score: 1, Interesting

    In the gaming community we've had to call the big publishers out on their marketing garbage quite a lot lately. Shitty PC ports. Framerate locking. Terrible, buggy releases, low resolutions. (And don't even get me started on cynical euphemisms like "cinematic experience" and other jabs at framerates above 30. I've never wanted to punch something so much)

    If there's one thing the new consoles have right is a mind numbing amount of CPU power. Plenty of of modern cores. These things would have been supercomputers a decade a go. What they don't have is extremely fast single threaded performance. But we've known that for years now. Many cores has always been the path forward for consumer electronics. We've even seen it in smart phones and tablets.

    Ubisoft's marketing shitcocks are covering for inept programming (Or rather a shit management style that encourages/rewards inept programming) because it's much more difficult to take advantage of many slower cores than one, fast single thread. You aren't going to get fast single threaded performance out of an integrated AMD SoC. (If you want fast single thread, you go Intel. End of story.)

    That said, the above excuse is still complete bullshit. It's well known that the chips in the new consoles have GPUs that have the effective computing power of what you'd find in a mid-grade gaming PC from 2010, with the PS4 coming out ahead of the Xbone by a healthy margin. What happens when you try to make a cutting edge pretty 2014 game run 60FPS at 1080p on a four year old graphics card?

    Exactly what you think fucking happens! The graphics on the new consoles don't "Look great" they look like garbage because they're rendered at barely-above-720p at pitiful frame rates.

    Ubisoft and company: Stop making excuses for your slam-down-your-customer's-throat-marketed AAA console shiftests. Make real ports for the real serious gaming platform, the PC. If your game is so ineptly developed that you can't decouple the framerate and game logic then fire your managers and let the programmers do their jobs.

  5. 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.
  6. There's a lot of horse shit in this summary by Anonymous Coward · · Score: 2, Interesting

    You're missing the fact that AI code is typically branch-heavy, which kills pipelining and makes all of what you say about "instructions per clock" moot. In branch-heavy code, a high clock speed is very important. Metrics of "N instructions per clock" only apply to the theoretical best-case of non-branching code.

  7. 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.