Digital Foundry Article Technical Discussion Archive [2014]

Status
Not open for further replies.
Well let's not get carried away. Sony's slide from last August's GDC confirms a disproportionate amount GPU bandwidth is lost as CPU bandwidth increased but we're looking at a drop from 135Gb/sec to 100Gb/sec - I assume the metrics are accurate, otherwise why have them.
Agreed. Though the bar graph only stops at 10Gb/s CPU load, we don't know what the behaviour will be if the CPU load becomes >10GB/s, ie 30GB/s. The thing I do not know is: What is reasonable bandwidth usage for a CPU bound game? And could we reverse engineer this number if we take 900P as a resolution and work backwards to how much bandwidth that would require from (I assume ROPS) the GPU side of things - and see if we can ballpark the theoretical load caused by the CPU? If the number is too large, then we can remove this as a possibility? But if the number seems within reason then maybe we can leave it as passable?

150Mhz doesn't sound a lot but it's 150Mhz across six cores (available to games), or 900Mhz in total, which is the IPC equivalent to another half a core compared to Sony's IPC - assuming they're roughly equivalent.

The math is actually a little blurrier than that. We are assuming the Xbox is 150Mhz faster than the PS4 when Sony hasn't released the number for them either. But assuming that it is 150Mhz faster, it's only the slowest process (or longest) that would overall improve the time for X1, so likely at most only 150Mhz faster, unless all 6 cores are equally loaded and end at the same time. Cores working on already faster items will just complete faster and go idle I assume.
 
Agreed. Though the bar graph only stops at 10Gb/s CPU load, we don't know what the behaviour will be if the CPU load becomes >10GB/s, ie 30GB/s. The thing I do not know is: What is reasonable bandwidth usage for a CPU bound game?
Sony's 3D graph isn't great but that looks closer to 16-17Gb, rather than 10Gb. Does somebody want to pixel count the graph? :D


The math is actually a little blurrier than that. We are assuming the Xbox is 150Mhz faster than the PS4 when Sony hasn't released the number for them either. But assuming that it is 150Mhz faster, it's only the slowest process (or longest) that would overall improve the time for X1, so likely at most only 150Mhz faster, unless all 6 cores are equally loaded and end at the same time. Cores working on already faster items will just complete faster and go idle I assume.

Sony have stated 1600Mhz, (sneakily putting it on Google+, where nobody will see it!) but I've also seen it stated in a presentation from GDC or Develop.

Hopefully Ubisoft will do a Develop or GDC session on their AnvilNext engine and experience from Unity. I personally do think it bodes well, Paris does look great and the number of pedestrians onscreen is incredibly impressive but I do think it was a bad decision to stick with some many pedestrians when it impacts the game so much. Next year's Assassin's Creed on the same engine should be awesome.
 
Could well be a number of factors, cpu clock, dram latency, esram and a 900p/30 giving the X1 CPU fewer contention issues over each simulation tick, and ...

... that 30 GB/s bus feeding the CPU. When the CPU is really under load with certain workloads it could be that it starts to make a difference.

After all, MS must have seen a purpose in the ongoing cost of building that into the chip.
 
I dont know why anyone thinks the game looks good. It cant even handle 30fps@900p on PS4 in cut-scenes that look very average

The artists got shafter big time by tech
 
... that 30 GB/s bus feeding the CPU. When the CPU is really under load with certain workloads it could be that it starts to make a difference.

Do we even know it's bandwidth that's the issue?

Ubisoft have said they are CPU-bound, they didn't clarify it more but I assumed that they were talking about the computational ability rather than CPU bandwidth. With so many pedestrians in such confined areas, I can't see why the data required wouldn't be able to fit into the 2mb L2 each CPC has.
 
Do we even know it's bandwidth that's the issue?

Ubisoft have said they are CPU-bound, they didn't clarify it more but I assumed that they were talking about the computational ability rather than CPU bandwidth. With so many pedestrians in such confined areas, I can't see why the data required wouldn't be able to fit into the 2mb L2 each CPC has.

hm... I don't suppose anyone has done CPU scaling benchmarks (that go really low end)?
 
Do we even know it's bandwidth that's the issue?
We don't. Function and I are looking for a reason as to why the resolution would be 900p on PS4. There is either a technical reason (one example might be not enough bandwidth available for the GPU to use due to contention caused by the CPU which has priority) or Ubisoft just wanted parity. But if it is the latter that would be confusing because it's already performing below the Xbox One @ 900p except in cutscenes where it's outperforming the Xbox One. Something about CPU load is causing the inconsistency in the framerate.

If increasing the resolution yielded no impact to fps it should be 1080p and they could have avoided to a degree some of the parity backlash and created enough confusion to make it appear that PS4 is only struggling because it's running a higher resolution over Xbox One. We would never have been given insight into the fact that PS4 could actually under perform against the Xbox One at the exact same settings.
 
Yeah, we don't know for sure what it is.

I'm speculating that while cpu clock may be the biggest factor, that other minor contributory factors could be involved, e.g. 1% faster from memory, 1% from rare occasions where the 30 GB/s shaves a little off a core idling, etc

For PS4, even if you could bump res by 40% with only a 5% additional hit, with the current sorry state of the frame rate, that would be too much ...
 
This game reminds me of how badly AC2 and ACB ran on my PC... and It was by no means bad at the time (Phenom II X4 3.0Gh OCd to 3.2Ghz and a 6870 AMD). I could change the graphics settings to whatever, it would never reach stable 60Hz, although my machine outperformed the recommended specs (AMD Athlon 64 X2 6000+ -> a 2x3Ghz CPU running an Nvidia 8800...). GPU load was always low, as was CPU load, except the first two first (I could disable the fourth core for the game and have no real difference in speed, but then the other cores just rose to higher load levels).

I really hope they find a "quick" way to fix this game to stable 30Hz. If I hadn't preordered it already, I would probably not buy it until it's fixed.
 
We don't. Function and I are looking for a reason as to why the resolution would be 900p on PS4. There is either a technical reason (one example might be not enough bandwidth available for the GPU to use due to contention caused by the CPU which has priority) or Ubisoft just wanted parity.

Think of it another way. What kind of RAM access patterns, allowing for cache L2 cache, while computing AI for a few hundred NPCs, would require significant bandwidth to the point it would impact graphics on PS4? And more importantly, why doesn't it impact Xbox One? Let's concoct a technical explanation for this that explains both rather than look at PS4's performance in a vacuum.

All things being equal, Xbox One generally doesn't offer more bandwidth than PS4 - except in very specific RAM access patterns - but it has more raw CPU power. If the PS4 is down to 100Gb/sec bandwidth with those RAM access patterns, what on earth is Xbox One managing for graphics alone?

I'm inclined to believe that Vincent Pontbriand was being honest when he made his "parity" statement. It's not like he's some low level dude at Ubisoft, he's one of the games producers so ought to know about significant decisions regarding the game. It was only after the reaction to the statement that PR stepped in. PR, those well known technical experts ;)

Now excuse me while I go back to watching someone streaming The Tomorrow Children on Now on PlayStation. This game is adorable :)
 
This game reminds me of how badly AC2 and ACB ran on my PC... and It was by no means bad at the time (Phenom II X4 3.0Gh OCd to 3.2Ghz and a 6870 AMD). I could change the graphics settings to whatever, it would never reach stable 60Hz, although my machine outperformed the recommended specs (AMD Athlon 64 X2 6000+ -> a 2x3Ghz CPU running an Nvidia 8800...). GPU load was always low, as was CPU load, except the first two first (I could disable the fourth core for the game and have no real difference in speed, but then the other cores just rose to higher load levels).

I noticed the exact same thing on my Haswell 4770k cpu + and previous twin 670 gpu's. I could run every single game out there maxed at 60fps except for ACB which usually ran at 60fps but sometimes would drop to ~50fps, and that was with the cpu at around 55% usage and the gpu's at around 65% usage. Was very odd, there was lots of unused processing power on both cpu and gpu side and yet there it was, ~50fps. They must have a bottleneck elsewhere in their code although I thought that Unity's engine was written from scratch.
 
Think of it another way. What kind of RAM access patterns, allowing for cache L2 cache, while computing AI for a few hundred NPCs, would require significant bandwidth to the point it would impact graphics on PS4? And more importantly, why doesn't it impact Xbox One? Let's concoct a technical explanation for this that explains both rather than look at PS4's performance in a vacuum.

All things being equal, Xbox One generally doesn't offer more bandwidth than PS4 - except in very specific RAM access patterns - but it has more raw CPU power. If the PS4 is down to 100Gb/sec bandwidth with those RAM access patterns, what on earth is Xbox One managing for graphics alone?

I'm inclined to believe that Vincent Pontbriand was being honest when he made his "parity" statement. It's not like he's some low level dude at Ubisoft, he's one of the games producers so ought to know about significant decisions regarding the game. It was only after the reaction to the statement that PR stepped in. PR, those well known technical experts ;)

Now excuse me while I go back to watching someone streaming The Tomorrow Children on Now on PlayStation. This game is adorable :)
;) Damn about to enter a meeting so I can't watch!

Well, it's AI, sounds, animations, collisions, gameplay, everything needs to be calculated and it's just more with more NPCs. As for why it does not impact Xbox One, it _does_. The only difference is that the Xbox One is leveraging ESRAM for all of it's scratch pad math for graphics processing where the PS4 has to do it in the very same memory that is under contention by the CPU.

All things being realistic, it doesn't offer more bandwidth than the PS4, but esram is dedicated for the GPU on XB1, where as it is not the case for PS4. So we're looking at a situation where the X1 is running with it's full realistic 140GB/s available vs some unknown number for PS4.
 
You wouldn't need to have used all your bw up to potentially see performance degradation from contention.

The greater the frequency with which the cpu has to wait for memory access the greater the drop off. Even jumping to the front of the queue, the cpu would have to wait for the current memory operation to finish, iirc.

Frame buffer read/write is the major consumer of memory bw, and with the "small" 900p buffer likely mostly in esram, X1 may fare relatively better in this case.

During bw bound post post processing for example, it could be that ps4 cpu is seeing lots of little access hiccups that add up, while x1bone was doing it all in esram with the cpu skipping gaily around with main memory mostly to itself. For example.

...

Would still like to hear more about the lighting of ACU, it looks great and could also be a multicore cpu hog, if they story has any truth to it. This might not all be down to the AI...
 
hm.

kndITdL.jpg
 
If NPCs are really the problem on CPU why not drop them a little on PS4 or both to get 30fps and no-one would notice a damn thing

But when it chugs in cut-scenes its the whole engine
 
Status
Not open for further replies.
Back
Top