Having silicon idling because there's no work for it do.
3) 4 SPEs is a ton of resource footprint, hard to argue against a ton more general system bandwidth and pure GPU power (something the PS3 lacks and the majority of games would benefit from) as these could and would be of more benefit in more games on a more frequent basis.
This wasn't rasied as a discussion for the merits of PS3's hardware efficiencies! The idea was presented by Corinne Yu that programmability is the future. I raise MLAA as an example of where programmability is beneficial. I do not make the claim that SPEs were the best choice for the best graphical capabilities of a console designed to 2005 spec. That said, if those 4 SPEs weren't included and instead their silicon budget had been spent on the GPU or RAM bus or anything else, do you believe GOW3 would look better than it does now? I haven't seen anything anywhere else to suggest that the level of IQ obtained from MLAA isn't the most efficient IQ improver we have, taking 5ms across 4 SPUs instead of 120ms on RSX, and 16xMSAA is beyond the bandwidth of these consoles. If you were designing a console in 2005 to have the best jaggie-free IQ and had the know-how of GOW3, would you not pick PS3 as (currently) the only means to pull it off? Of course it doesn't all come down to IQ, but that's not the point! The point is, programmability gives options that enales slower hardware to outperform faster hardware.
This reminds me slightly of the RayTracing verses Rasterizing debate. RT is always a technique waiting for a platform to pull it off. Yet the resources to do so are always much, much higher than those to do better looking Rasterization.
That's all true. However, some titles (okay, maybe one!) are dead-easy for and perfectly suited to a raytracer - a snooker game with true reflections and analytical CSG geometry. Such a game is not a particular good fit for GPUs. You'd need complex meshes to model the perfect forms of a sphere that is a doddle to render with CSG. You'd need to render out all sorts of reflections versus the straight-forward trace of a ray. Because GPUs are designed to be fast at a particular (and popular) style of rendering, they are limited in opportunities to try alternative methods that would be better suited to the job.
The
current solution
We gave PS3 developers 4+ years to figure this one out, lets give the GPU guys the same time frame to justify their hardware.
Maybe I'm off with my dates, but IIRC Intel's paper on which all this is based appeared in 2009. Unless Santa Monica was ahead of the game and struggling to develop a new PS3-specific AA engine since day one, any and every developer has had as long to work on MLAA implementations. I'm not saying it won't happen on GPUs, just as GPGPU has shown tasks can be reengineered to fit available solutions, but it's a struggle the algorithm doesn't inherently have, a struggle caused by the hardware confines. It's also interesting that this graphics technique was not shown to the world by nVidia or ATi or any other graphics hardware vendor who have given us all sorts of variations on MSAA. What does that tell you about mindsets and out-of-the-box solutions?
I wouldn't say using MSAA hardware to allow significantly cheaper soft shadow edges or A2C that is passable IQ (versus complete game redesign to remove heavy alpha usage) is hacking the hardware or unconventional.
That's not what the hardware was designed for, but people being clever have found opportunities to exploit the hardware. However, Perfectly Programmable hardware doesn't have a name like "Vector Rasterizing Unit" that hides the fact it can also correlate your databases if you shuffle your database data up into an abstract format.
It all sounds good in theory--and you can find corner cases to prove your point--but if this generation tells us anything there are bigger fish to fry.
I'm pretty sure my initial response was "it won't happen next-gen". There's still room for discrete GPU architectures at the moment. However, the ideal for developers IMO is to do away with these different bits of hardware and just have a single core that does whatever you want it to. That's the ideal. How close the world of technology gets is up in the air, both due to limits in fabrication and competition meaning no single platform.
Kinda like people generally don't have four equivalent limbs anymore, but find more success in life using two feet, which are great for moving around, and two hands, which are great for interacting with the world.
Interesting analogy. You're right, legs and arms are specialised for different purposes. That works well for people. And if you want to build a robot to do the things people can do, then legs and arms makes sense. But what if you're building an assembly line? The arms and hands are ideal, but the legs serve no purpose. Does it makes sense then to build bipedal automotons to sit at convey belt piecing components together, or would it be better to turn the legs into arms and have more practical functional units for the job at hand?
In the case of GPUs, we had arms and legs - vertex units and pixel units - and yet they've been combined. It's true, given a silicon budget, the specialised hardware is better. 200M transistors of pixel shaders and infrastructure will shade more pixels than 200M transistors of unified shaders and infrastructure. And 100M transistors of vertex shaders will process more vertices than 100M transistors of unified shaders. But which GPU will perform best in real-world cases; the 300M transistor US architecture, or 300M transistor discrete vertex and pixel shaders? The flexibility of US means better overall performance with less idling hardware, and more opportunities to the developers.
This is the ideal behind programmable graphics hardware, with the added benefit of being simpler to design for as you won't have to worry about specific workloads, much as US has liberated developers from worrying about vertex to pixel ratios. It won't be as fast as the current specialist rasterising hardware, but it will enable more approaches, and in my opinion, as much faith as anything, developers will find such amazing ways of rendering stuff if freed from the triangle-mesh, fragment shaded model of the past two decades