It seems to be an increasingly common belief that because the PS4 and Xbox One use x86, an architecture familiar to programmers, unlike previous consoles, who used less well known architectures, that there won’t be as much they can learn or exploit throughout the generation, resulting in better looking and performing games.
A badly known architecture like the PS3 had will result in poorly performing games at first, compared to similarly powered PCs, this is true, and learning that architecture will improve performance over time. This is also true, but it’s not the most significant thing developers can do to improve performance.
One of the biggest problems with developing on PCs is you can’t know what CPU and GPU the player will have. This requires you to write very generic code that is compatible with a large variety of CPUs and GPUs. Furthermore, they can’t predict what ratio of CPU power to GPU power you’re going to have, so there’s a good chance PC games run with GPU at 100% but CPU at a very low %, or the other way around. This severely bottlenecks performance on PCs, and it’s something that can easily be overcome on consoles, since that hardware is known. That will be the first major optimization they can perform that will immediately make the consoles more efficient with their hardware than comparable PCs.
However, it doesn’t stop there. As I said before, developers write code in a very generic form to support all CPUs. While all CPUs on PCs are x86 compatible, they’re also all very different. Intel makes CPUs differently than AMD, and each generation of CPUs is different from each other as well. If Sony/MS had used previously well known CPUs such as the AMD FX series, this would have been less of an issue, but they used a mostly unknown brand of CPUs known as the Jaguar. Each CPU has the basic x86 instruction set, but also typically have their own extra instructions as well. Not only that, but they all process standard x86 instructions differently. Learning the unique capabilities of the Jaguar architecture, and learning what instructions perform faster than others will be key in optimizing CPU performance. These things will take time.
Similarly, all GPUs are made differently. On PCs, developers tend to use high level APIs such as DirectX or OpenGL. These APIs are pretty much compatible with every GPU, but at a major performance cost. Just like CPUs, and even more so, GPUs are all uniquely different from each other and have specialized capabilities unique to the GPU series as well. While the GPUs in the PS4 and Xbox One are very similar to a few models used in PCs today, they aren’t exactly the same. They were designed specially for the consoles and have tons of extra functionality built in. Not only will developers have to learn the instruction sets of the new GPUs (which differ significantly from even other GPUs by the same manufacturer) but they’ll have to again learn which instructions perform faster than others, and learn all the new features Sony and MS built into their GPUs, such as the ability to take idle GPU cycles and put them toward additional compute power, for example.
If a developer wants to write high performing code on these consoles, they need to write engines that perform tasks using highly optimized machine code. PC developers don’t do that today, and they can’t. You can write CPU machine code on PCs, but you need to stick to the very basic x86 commands or the code will be incompatible with a lot of CPUs. You can’t write GPU machine code at all, because of the driver/OS system on PCs. But even if developers were familiar with writing highly optimized machine code for PCs, the specific architectures of the specific models of CPU and GPU would be unfamiliar to them. There is a lot developers will be able to exploit that they aren’t currently this generation. Knowing x86 will simply give them a head start at getting to work with those machine code level optimizations sooner.
There’s one other thing that these consoles significantly do better than PCs right now as well, and that’s memory. While most gaming PCs have more total memory than the PS4/XBO, that memory is not really used much in current PC games. Most current games you’ll see using about 2-3 GB of system ram, and about 0.5-1 GB of video ram. That would be a total of 2.5-4 GB of RAM, and already the consoles have an advantage, as they have around 5-6 GB available to them as developers, however, it’s actually more significant than that because of the unified nature of the memory. Since PC ram isn’t unified, a lot of the same data will exist in the system ram as well as the video ram, meaning there is two copies of the data. In the current consoles, there would only be one copy shared by the CPU and GPU, meaning the total memory necessary for the example game above would still only be probably 2-3 GB, opening up even more room for expansion. About
PS4 and Xbox One will improve graphically just as much if not better than previous generations.