Parallelism And Graphics On Next-Gen Consoles
Chris: Excellent, okay. A couple of times now you’ve talked about the scalability of Frostbite when it comes to threading in multi-core CPUs. Both of these next-gen consoles are heavily threaded, but the cores themselves are lighter than what we’re typically used to on the PC side. What are you doing to utilize those available x86 resources and how does that compare to the past development work that you’ve done?
Johan: We've spent a lot of time...we've been working on the next-gen consoles for around two years, and this last year we've sort of been focusing a lot on just bringing up everything and optimizing it also. It's been a bit of a challenge, the performance on the next-gen CPUs. But as our engine was quite parallel, we parallelized it even further. That was sort of a must for us to run with 64 players at 60 FPS on PS4 and Xbox One. There was a lot of work to parallelize everything. So now we've got around 90 to 95% of the CPU utilization and have some screen shots I can show you and it looks quite cool when you’ve got that type of utilization in multi-player.
Johan: So that's pretty cool, and the difference before was that, well, the PS3 was the bottleneck back in the day. Even though the Cell architecture was really powerful, just the work it took to move things off the SPU...and we went through, we spent a lot of time moving things to the SPU and saw some really great performance was there, but we also had to compensate a lot on GPU performance by moving things to the SPU. This took us a lot of time, and we ended up with quite good performance, but that sort of architecture was not very balanced back then.
Now, with the new generation consoles, the architecture is a lot more balanced and we got quite good performance from the get-go out of these CPUs. Then, we're able to spend a lot more time really fully utilizing them, as in parallelizing, and also doing other types of optimization on the CPU. We don’t have to optimize away every load-hit-store or cache miss because these are out-of-order processors so they handle more code in more of a general manner, which was really good. Although, they run at quite low clock frequencies, so it's still been a a challenge to make sure that we utilize all of them and that we essentially do now.
Going forward, I think we’ll start moving more code over to compute on the GPUs. Think like doing cloth simulation or parts of your rendering, you can do it in a little bit less brute-force way on the CPU and instead have the GPU handle that in a very efficient manner. So, that will be a bit of a challenge for us going forward to do that, but that's sort of the trajectory we're on more and more.
Chris: Okay, excellent. Simultaneously we’re dealing with these graphics engines that are not as capable really as the high-end PC hardware. How close can you get to the PC experience at 1080p quality-wise on a console, and if you have to compromise what's the first thing to go?
Johan: Yeah, this is sort of a decision for each game team going forward that we work with, but before, getting to having 64 players and getting to 60 FPS was the most important thing because we wanted to bring this PC game experience that you have. And if you play Battlefield I think you'll agree that the actual game experience of playing on the 64-player server and everyone is interacting, I mean, and having a great frame rate is actually a significant difference from what we had on the current generation of consoles with only 24 players. This sort of enables more types of gameplay, and that was the most important thing for us. That sort of set the bar that we need to get there, and we did get there. Sure we did still have to do a little bit of a compromise on the solution. We're not running at the full native 1080p; we’re running a little bit lower resolution than that. But I think it was well worth those tradeoffs in order to make sure that we can actually have the full sort of PC game experience overall being on there. And you're playing the games in a little bit different way. You’re playing with the controller on a TV; you're not playing on a PC with a monitor. And it's very low-latency in that way where it's even more twitchy for example on a PC or a monitor that's even more sharp.
Johan: I think it worked out quite well for us, but it's sort of a decision for each game going forward also like what makes more sense.
Come on AMD! Bring it already!!!! SteamMachines are around the corner!
-Your game is good in this?
-Yes our game is good in this becouse .
Just the phrasing and the form changes.
At least the users in tomshardware can still offer some solid information. And later people dont understand why 80% of the readers automaticly jump to user comments before reading the full article.
Good lord! The PS4 can't even run Battlefield 4, a launch title, at 1080p? Where will these consoles be in 5 years time?!?!
May be spending $500-600 on a CPU + a 5years warranty reliable Asus Sabertooth X79 isnt a bad investment. lol
Its still early in the console cycle and devs will need time to fully unlock them. With the semi heterogeneous architectures of the new consoles its going to be a steep learning curve to figure out the best ways to utilize GPU compute power. They talk about having the CPU at 95% utilization but just because its busy doesn't mean its efficient. Busy is easy to achieve, efficiency is not. There's a lot of room to grow yet.
That plus I don't think most exclusive console gamers are really worried about 1080p (other than a random number in a vacuum that seems bigger than other random numbers). If they were truly worried about resolution they'd be on a PC. The games are still prettier than a 360/PS3 so they'll be happy in the end.
Frostbite is probably most demanding engine out there... check if your PC can run BF4 at min. 60 FPS in high details @ 1080p. There are many that can't.
Next gen consoles are speced like mediocre gaming PC of today. WTH you expect.
In near future programmers will be able to squeeze bit more juice of them because of more unified and exposed hardware but that's all.
Performance and Quality is on PC.