6 ms·
I'm not sure. Heterogeneous architectures were a huge mess with the PS3, for a recent example, and abandoned in the subsequent PS4 for relatively standard x86 k
by megaman22 9y ago
I'm not sure. Heterogeneous architectures were a huge mess with the PS3, for a recent example, and abandoned in the subsequent PS4 for relatively standard x86 kit. Taking advantage of specialized hardware is not without its costs.
- ashleyn 9y agoIt depends on the API implementation, really. The criticism back in the day was that Cell was difficult to program for. I would imagine this was because its functions were at a lower level, which buys you power at increased development cost. Think the difference between Vulkan and OpenGL. Sony didn't seem to value development value over capability, which led to the PS3 earning the reputation of being an underutilised console: https://www.cnet.com/news/sony-ps3-is-hard-to-develop-for-on-purpose/ https://www.cnet.com/news/sony-ps3-is-hard-to-develop-for-on... Apple's heterogenous computing functions on iOS are higher-level and much easier to use. Instead of manually writing code to do FaceID on iOS, possibly involving graduate-degree levels of theory, you simply create a biometry type which abstracts much of the details, many of which developers aren't particularly interested in fine-tuning. This is how someone on a budget like Bank XYZ can use FaceID to unlock your bank app.
- RodgerTheGreat 9y agoAnother angle worth considering is the economics of porting titles. If you take full advantage of specialized hardware like the PS3 had, it could have a strong influence on the implementation of games- possibly even pushing down to choices in aesthetics and game mechanics. As a result it may be very difficult to get a comparable experience on another console. If a game is designed and written to more-or-less cater to a common denominator it is more straightforward to later port the game to other consoles or PCs- including platforms that might not exist at the time the original game was created- and mop up sales from those other userbases.
- Narishma 9y agoI'm not sure I agree. It was much easier to develop your game around the PS3's heterogeneous architecture, then port it to a more conventional architecture like the Xbox 360 or PC and get good performance than doing it the other way around.
- RodgerTheGreat 9y agoIn very broad strokes, compared to the other consoles of its generation, the PS3 offered a large compute capacity via SPEs and was starved for RAM and memory bandwidth. I think you're conflating the technical impact of a heterogenous architecture with other differences in specs. If you tailored a game to work within the memory footprint of a PS3 and did not take advantage of SPEs, a port is easy- you've aimed at a lowest common denominator. If you designed your game with the expectation that you'd have more RAM, you'll have to make some painful decisions to cut the game down to size. If you designed your game to actually take advantage of SPEs, there wouldn't necessarily be a comparable compute resource on the platform to which you would like to port.
- vvanders 9y agoJust a small nit that the PS3 and X360 had the same amount of RAM, it was just split on the PS3. X360 had a unified memory model which was a lot easier(PS3's is closer to a PC and X360 your mobile phone). We still did clever things like putting music in GPU memory and then streaming it back to system memory since the bandwidth wasn't large and read patterns were very predictable.
- vvanders 9y agoYup, and when you did that you got a huge perf-bump on non-PS3 platforms since you already had things built in a way that were memory-locality friendly.
- baldfat 9y agoJay Miner - Creator of Amiga's API http://www.geekometry.com/2015/01/gamechangers-jay-miner-and-the-amiga-computer/ http://www.geekometry.com/2015/01/gamechangers-jay-miner-and... Amiga had the best API. Even as a kid I could understand what I was doing with it.
- gmueckl 9y agoWell, not really: the PS4 still has a GPU, so it has two kinds of computing units where the PS3 had three. The SPUs existed mostly because the same number of full-blown cores would have been prohibitively expensive back then.
- baldfat 9y agoI specifically said it would look more like. Of course we have GPU and other chips but we are going to have much more than we have now to get an increase in computer power. The BIG issue will be programming to utilize these architecture and we haven't really hit anything yet that we see a HUGE increase when we have multiple of cpu cores let alone other components. The big issue will be API.
- vidarh 9y agoAny modern PC is heterogeneous. Not just the GPU, but even full CPUs. Most harddrives have full CPUs driving the HD controller, for example (e.g. you'll find multicore ARM's on many of them).
- vvanders 9y agoAs someone who went through that era and worked on a cross-platform title. The issue wasn't that the PS3 was heterogeneous, it was that the X360 came first so everyone wrote for a system that had relaxed memory constraints. When the PS3 came along all of a sudden things that weren't vectorized didn't run slow, they just flat out didn't run at all. Fun fact, the few engines that were developed for the PS3 first and X360 second ran circles around everyone else because all the vectorization work for PS3 meant they fit in caches really nicely and had zero cache misses. Easily 2-4x faster than titles doing equivalent work.