EDGE: "Power struggle: the real differences between PS4 and Xbox One performance"

People keep saying GPUs can do hardware tiling/swizzling. They can't :).

The driver usually does it in the driver on the CPU, MS added dedicated hardware for the task.

In short, the XBONE's DME's are just jacked up DMA units, 2 clearly came from a GCN GPU as they contain swizzling hardware that is present in all modern GPU's.

http://libsh.org/ref/online/onlinese12.html

On many GPUs swizzling is free or at least cheap, and smart use of swizzling can make your code more efficient. However, inappropriate use of swizzling can also make your code incredibly hard to read, and may make it hard for the compiler to optimize it.

http://www.opengl.org/wiki/GLSL_Optimizations

Swizzle masks are essentially free in hardware. Use them where possible.

http://fgiesen.wordpress.com/2011/01/17/texture-tiling-and-swizzling/

While somewhat awkward in software, this kind of bit-interleaving is relatively easy and cheap to do in hardware since no logic is required (it does affect routing complexity, though). Or you could do this:

http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter35.html

Not only does this save on arithmetic in the vertex processor, but it saves interpolants as well. Further, it avoids the construction of vectors in the fragment program: swizzles are free (on NVIDIA GeForce FX and GeForce 6 Series GPUs), but the move instructions required to construct vectors one channel at a time are not. We saw this same issue in Section 35.1.1.

http://www.math.bas.bg/~nkirov/2008/NETB101/projects/Cg-HTMLs_and_Files-Referat-F40215/page4.html

Because the swizzle operator is implemented efficiently in the
GPU hardware, its use is usually free.
 
I wonder why people do that, double-down on an argument, when practically the whole thread is saying no, that's not right. You'd think you'd want to be right, have the actual correct info, more than "winning" the debate. Ah well.


It happens on every forum ever.

Assuming not a shill, I dunno, maybe low self esteem? pathological competitiveness? Asshole troll? I'm sure some psych Ph.D candidate is investigating right now.
 
In short, the XBONE's DME's are just jacked up DMA units, 2 clearly came from a GCN GPU as they contain swizzling hardware that is present in all modern GPU's.

http://libsh.org/ref/online/onlinese12.html



http://www.opengl.org/wiki/GLSL_Optimizations


http://fgiesen.wordpress.com/2011/01/17/texture-tiling-and-swizzling/



http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter35.html


From the fgiesen blog you linked to.

"“Swizzling” is somewhat more complicated; there’s several other popular uses of the word, e.g. “pointer swizzling” or the vector swizzles (like “v.xywz”) used in various shading languages) that have nothing at all to do with image / texture storage."

They're not the same thing and the hardware reads from those "swizzled" formats optimally. Graphics drivers do it in software when uploading textures.
 
From the fgiesen blog you linked to.

"“Swizzling” is somewhat more complicated; there’s several other popular uses of the word, e.g. “pointer swizzling” or the vector swizzles (like “v.xywz”) used in various shading languages) that have nothing at all to do with image / texture storage."

They're not the same thing and the hardware reads from those "swizzled" formats optimally. Graphics drivers do it in software when uploading textures.

I quoted that myself, he even mentions how its practically free in hardware, if your talking about textures then we have a none issue as they are usually stored swizzled already. The swizzling hardware in the XBONE is present on every GCN GPU in the DMA units.

Crux of the matter is that the PS4 supports the same stuff and GPUs have supported it for ever.
 
Cerny explicity called out "audio" GPGPU. He talked about raycasting to work out effect volumes etc.

Digital Foundry: Is there dedicated audio processing hardware within the PlayStation 4? What can it do?

Mark Cerny: There's dedicated audio hardware. The principal thing that it does is that it compresses and decompresses audio streams, various formats. So some of that is for the games - you'll have many, many audio streams in MP3 or another format and the hardware will take care of that for you. Or, on the system side for example, audio chat - the compression and decompression of that.

http://www.eurogamer.net/articles/digitalfoundry-face-to-face-with-mark-cerny
 
Digital Foundry: Is there dedicated audio processing hardware within the PlayStation 4? What can it do?

Mark Cerny: There's dedicated audio hardware. The principal thing that it does is that it compresses and decompresses audio streams, various formats. So some of that is for the games - you'll have many, many audio streams in MP3 or another format and the hardware will take care of that for you. Or, on the system side for example, audio chat - the compression and decompression of that.

http://www.eurogamer.net/articles/digitalfoundry-face-to-face-with-mark-cerny

I wasn't disputing the decode/encode chip. Cerny also talks about raycasting for audio gameplay logic.
 
it seems like the multitasking features of the xbone rely on dedicated hardware and the 8gb of flash, but EmptySpace is not tech-savvy at all...

8gb of flash is for the firmware and it's backup. The os is in the ram, that's why they have 3gb allocated to that. This is not used for multitasking, and the PS4 probably has the same amount for the same reason.
 
Ok so let me see if I get this right. Sorry for my tech knowledge and english in advance =P

The GPU can be used the way developers want to do different kinds of work. Like in Resogun to enable all those amounts of cubes to have collision detection physics etc. while in other developers can use it for AI or even (do i dear say it) advanced Audio instead of just for rendering higher resolution or fps. And by using the GPU you can offload the CPU instead for it to do other things thats more suited?

And also why did MS go with a whole lot of co-processors to do these kinds of work instead? It just seems a lot more components that needs to "talk" with each other and a lot of more programing to do or am i wrong? I mean a PC have a lot of components but i thought the whole idea of this generation was to have everything as "close" as possible and simplified to get the best performance hence the reason of unified memory etc. to be able to compete with a much higher priced PC.

My main concern is that third party developers faced with a power difference between the consoles will only optimize the weaker to the point were it economically viable and then move to the more powerful one and get that one on par and not trying to improve upon that if its not REALLY easy to do like some article mentioned. I get the reason why they would work like that and I think will be the case and I don´t expect many multiplattform games to showcase any difference between the two which some people seem to believe but i guess we will just have to wait and see. Perhaps later when the exclusive games starts showing off more advanced graphics but not in the early stages of this generation.
 
8gb of flash is for the firmware and it's backup. The os is in the ram, that's why they have 3gb allocated to that. This is not used for multitasking, and the PS4 probably has the same amount for the same reason.

EmptySpace was thinking of the same thing but isn't 8gb too big? or is that just normal for a device which will run for 8 years?
 
I quoted that myself, he even mentions how its practically free in hardware, if your talking about textures then we have a none issue as they are usually stored swizzled already. The swizzling hardware in the XBONE is present on every GCN GPU in the DMA units.

Crux of the matter is that the PS4 supports the same stuff and GPUs have supported it for ever.

I still don't think we're talking about the same thing.

We're not looking at swizzling the RGBA components of individual texels.

I'm unaware of any GPU which supports hardware tilling/swizzling. Got a link? Google can't find one either.
 
Ok so let me see if I get this right. Sorry for my tech knowledge and english in advance =P

The GPU can be used the way developers want to do different kinds of work. Like in Resogun to enable all those amounts of cubes to have collision detection physics etc. while in other developers can use it for AI or even (do i dear say it) advanced Audio instead of just for rendering higher resolution or fps. And by using the GPU you can offload the CPU instead for it to do other things thats more suited?

And also why did MS go with a whole lot of co-processors to do these kinds of work instead? It just seems a lot more components that needs to "talk" with each other and a lot of more programing to do or am i wrong? I mean a PC have a lot of components but i thought the whole idea of this generation was to have everything as "close" as possible and simplified to get the best performance hence the reason of unified memory etc. to be able to compete with a much higher priced PC.

My main concern is that third party developers faced with a power difference between the consoles will only optimize the weaker to the point were it economically viable and then move to the more powerful one and get that one on par and not trying to improve upon that if its not REALLY easy to do like some article mentioned. I get the reason why they would work like that and I think will be the case and I don´t expect many multiplattform games to showcase any difference between the two which some people seem to believe but i guess we will just have to wait and see. Perhaps later when the exclusive games starts showing off more advanced graphics but not in the early stages of this generation.


flexibility.

If you have certain tasks that you know need to be done over and over again, then it can make sense to dedicate silicon for it - most likely it'll be faster, and it means you aren't taking overhead from the main system. So eg encoding of video for sharing or remote play, audio decoding etc.

GPGPU can be used for flexible software solutions that developers need - that changes on a game by game basis.

The idea ultimately should mean that a lot of the game will be running on the GPU, and the CPU won't be doing too much heavy lifting. That's one reason I think both MS and Sony went with Jaguar - you get a decent number of threads for housekeeping and general computing, but you put most of your silicon towards the GPU.
 
I still don't think we're talking about the same thing.

We're not looking at swizzling the RGBA components of individual texels.

I'm unaware of any GPU which supports hardware tilling/swizzling. Got a link? Google can't find one either.

You are going to need to define what you mean by hardware tiling/swizzling, because it seems to its just texture swizzling by another name. GPU's support it on more data then just textures.
 
EmptySpace was thinking of the same thing but isn't 8gb too big? or is that just normal for a device which will run for 8 years?

It's not surprising at all considering the gap between nextgen and current gen's OS. PS3's firmware is around 200MB, everything kinda scales proportionally. That plus the safety margins, the firmware is probably not 4Gb yet.
 
It's not surprising at all considering the gap between nextgen and current gen's OS. PS3's firmware is around 200MB, everything kinda scales proportionally. That plus the safety margins, the firmware is probably not 4Gb yet.

PS3 firmware is nowhere near 200MB. It has shrunk substantial since its release in 2006
 
PS3 firmware is nowhere near 200MB. It has shrunk substantial since its release in 2006

You're mixing up OS footprint (which is around 50Mb) and firmware.

Seems there is a relation between the amount of main system ram and system flash. PS3 had 256 MB of internal flash (128 +128 for backup) and 256 MB of main XDR. So 8 GB can make sense since MS has a lot going on in the dashboard. 4+ 4 is certainly a comfort zone for futur updates and maybe some other things. The memory dedicated to OS went like x100 as well (32 MB x360 > 3 GB X1).

WiiU sports 512 MB of internal flash for system, but hey it's Nintendo, you aren't wrong usually being x16 compare to Nintendo.

This guy, i know him from elsewhere. What he says goes afaic.
 
Ok so let me see if I get this right. Sorry for my tech knowledge and english in advance =P

The GPU can be used the way developers want to do different kinds of work. Like in Resogun to enable all those amounts of cubes to have collision detection physics etc. while in other developers can use it for AI or even (do i dear say it) advanced Audio instead of just for rendering higher resolution or fps. And by using the GPU you can offload the CPU instead for it to do other things thats more suited?

And also why did MS go with a whole lot of co-processors to do these kinds of work instead? It just seems a lot more components that needs to "talk" with each other and a lot of more programing to do or am i wrong? I mean a PC have a lot of components but i thought the whole idea of this generation was to have everything as "close" as possible and simplified to get the best performance hence the reason of unified memory etc. to be able to compete with a much higher priced PC.

My main concern is that third party developers faced with a power difference between the consoles will only optimize the weaker to the point were it economically viable and then move to the more powerful one and get that one on par and not trying to improve upon that if its not REALLY easy to do like some article mentioned. I get the reason why they would work like that and I think will be the case and I don´t expect many multiplattform games to showcase any difference between the two which some people seem to believe but i guess we will just have to wait and see. Perhaps later when the exclusive games starts showing off more advanced graphics but not in the early stages of this generation.

Probably analysed what most game engines did.
So made some of those functions in hardware so it will be faster.
But it will less flexible kinda like how edram on X360 was keeping deferred rendering from achieving 720p in most titles because of its limited size.
 
Is a dedicated audio chip really a point worth mentioning? I can't imagine audio taking more than say 1-2% of all the resources.
 
Is a dedicated audio chip really a point worth mentioning? I can't imagine audio taking more than say 1-2% of all the resources.

No, not really.

The example of a game using a core on the 360 was because it was doing over 100 sounds at any one time, the problem with that is that any knowledgeable audio engineer would know that you could not hear all the sounds they are pumping at you due to psychoacoustics.
 
Lol, it was known as tiling until recently but it gets confused with tiles in PRT.

Swizzling gets confused with vector element operations now. Too many words have too many overloaded meanings.

"Swizzling" is a wonderful word, though I can't help but make the leap to "Bernard Matthews Turkey Swizzlers".
 
EmptySpace was thinking of the same thing but isn't 8gb too big? or is that just normal for a device which will run for 8 years?

Seems there is a relation between the amount of main system ram and system flash. PS3 had 256 MB of internal flash (128 +128 for backup) and 256 MB of main XDR. So 8 GB can make sense since MS has a lot going on in the dashboard. 4+ 4 is certainly a comfort zone for futur updates and maybe some other things. The memory dedicated to OS went like x100 as well (32 MB x360 > 3 GB X1).

WiiU sports 512 MB of internal flash for system, but hey it's Nintendo, you aren't wrong usually being x16 compare to Nintendo.
 
Well, it depends on if the VGLeaks docs are accurate but you've got memcpy, tiling/swizzle, JPEG decode, LZ encode/decode, framebuffer scaling, framebuffer blending, audio generation, audio encode/decode, h.264 all on coprocessors.

framebuffer scaling, framebuffer blending = DirectX 11.2 feature : GPU overlay support

PS4 GPU support DirectX 11.2+ featureset so PS4 should have those co-processors too.
 
It seems to be a AMD thing from what I can tell, interesting :).

I'm glad it wasn't me just going insane ;).

The Xbox One had hardware to do that job. The PS4 will have to do it in software, use a GPGPU job to swizzle or suffer a slow GPU.

MS obviously found enough people doing it on 360 to add dedicated hardware.
 
Probably analysed what most game engines did.
So made some of those functions in hardware so it will be faster.
But it will less flexible kinda like how edram on X360 was keeping deferred rendering from achieving 720p in most titles because of its limited size.

You mean like later in the generation the dedicated hardware might be lacking because of increased sizes of data that needs to be processed and task might have to be moved like on the PS4 to the GPU instead? I guess that you could still split it up so the dedicated hardware job and then let the GPU do the rest that needs to be done or will it become a fixed bottleneck?
 
I wasn't disputing the decode/encode chip. Cerny also talks about raycasting for audio gameplay logic.

Is there a part here you're missing? It's getting really difficult to keep reading the thread when you keep coming up with the same bs.

Audio raycasting is pretty advanced:

"One technique of simulating sounds within a three-dimensional scene may be to calculate the resulting sound at the location of the listener due to the propagation of sound waves throughout the three-dimensional scene. A sound wave is a longitudinal wave produced by variations in a medium (e.g., air) which is detected by the human ear. A game system may calculate the effects of all objects on all sound waves (e.g., collisions, constructive/destructive interference, etc.) as they travel through three-dimensions. Furthermore, the sound engine may calculate the resulting sound due to a number of sound waves which reach the listener location. However, calculating the propagation of sound waves throughout the three-dimensional scene interference may result in a large number of complex calculations (e.g., differential equations) which a game system may be unable to perform in a time frame necessary to provide real time sound effects."

source: http://www.google.com/patents/US8139780

Cerny says eventually devs will even be able to use GPGPU for this, and for many other things such as complex physics. Does that mean the CPU won't be used for physics? No.

You are also assuming, and I would bet wrongly, that you won't have to use the GPU to reproduce the same technique on Xbox One. This whole audio thing is one hell of a reach by some in order to close the gap.
 
I'm glad it wasn't me just going insane ;).

The Xbox One had hardware to do that job. The PS4 will have to do it in software, use a GPGPU job to swizzle or suffer a slow GPU.

MS obviously found enough people doing it on 360 to add dedicated hardware.

It would hazard a guess that AMD supports it in hardware if the 360 has it then anything newer should too and GCN is a lot newer.
 
It's part of the display plane system according to VGLeaks, the PS4 doesn't have that.

Are you sure about that? it looks the same as http://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx#three
This feature allows the scaling and composition of two swap chains to happen automatically on the fixed-function overlays hardware, without using any GPU resources at all.

Also GCN-Based AMD 7000 Series GPUs Fully Support DirectX 11.2.
http://www.pcper.com/news/Graphics-...-Fully-Support-DirectX-112-After-Driver-Updat

So PS4 sould support it.
 
Was the 8GB of flash memory for X1 true and what practical use does it have? Will PS4 have something similar?
 
display planes / display scan out,.. this is all very standard custom hardware that every console have in different forms. Of course it's more refined units over time, but even the PS1 had something like that.

The dedicted processors are very similar in both consoles in fact, they just name them differently. MS liked to rename everything with the X1, even the CUs are called something else (SC)
 
http://www.vgleaks.com/orbis-displayscanout-engine-dce/

Suggests that the PS4 has atleast 1 bit of hardware to scale game framebuffers :).

Yeah, I wasn't specific enough. It supports two frame buffers with independent resolutions and blends those together.

Handy for a console with a 12 CU GPU ;)

It's almost like the hardware is designed to play ID games. Dynamically scale the 3D resolution on one plane, render the UI at full res on another plane, hardware PRT support and hardware in-place swizzling.

The Xbox One is a very interesting console. PS4 had more brute force grunt but the One is genuinely intriguing. Penello's claims weren't crazy, he just isn't am engineer.

I'm looking forward to hearing from the Technical Fellow.
 
Yeah, I wasn't specific enough. It supports two frame buffers with independent resolutions and blends those together.

Handy for a console with a 12 CU GPU ;)

It's almost like the hardware is designed to play ID games. Dynamically scale the 3D resolution on one plane, render the UI at full res on another plane, hardware PRT support and hardware in-place swizzling.

Theres nothing to suggest the PS4 doesn't support hardware PRT nor the hardware in place swizzling your talking about. Also the other display plane most likely has more to do with snapping another application to the screen then rendering the UI at a different reso to the 3D.
 
It would hazard a guess that AMD supports it in hardware if the 360 has it then anything newer should too and GCN is a lot newer.

If there is, I've never heard of it.

That doesn't mean it doesn't exist, but the Xbox would have no need for the move engine tiling if the GPU could already do it.

There's no mention of it in the Southern Islands architecture docs.
 
Top Bottom