-
I'm sure developers were more than pleased that the mainstream consoles were x86, along with their PC counterparts. I almost forgot the bad ports PC use to get.
Have PC games improved in terms of stability/performance, and how much of this improvement is attributed to consoles moving to x86?
Asking
because, you know, the Xbox and Playstation use AMD chips. -
With the move to AMD's SoC and x86, the idea was that it would bring close to hardware level API and technology. However when the products were being built, there wasn't a lot of movement from the likes of the current dominant APIs such as microsoft or at the time, khronos for opengl. the HD7000 series was the birth of the GCN architecture that was imbued with the same ideas that the consoles were designed with and AMD appeared to want the same level on PCs.
In the end since no one really made the attempts, ATI/AMD invested heavily in the mantle project, creating a brand new API that made use of the same kind of optimization ideas and levels they were trying to achieve for PC akin to what was being done for Consoles. In 2013 they showed off mantle alongside the 290 and 290x series during the Hawaii event, showing how much more complex and how much developers could leverage from using such an API. Draw calls and complex physics or computational tasks running in parallel with the graphics (one of the aspects of async compute's advantages).
Long story short, Microsoft basically carbon copied the mantle API and rolled it into their existing DirectX API and named it DX12. Khronos was flat out given the mantle API directly from AMD so that amd no longer had exclusive control over it, giving khronos the api let them manage it and opened it up easier without concern for it becoming exclusively a AMD only API much like how Glide was for 3dfx, as that doesn't work out well when a graphics card manufacturer has their own in house closed off API.
So now that Microsoft basically has their own version of Mantle called DX12 and Khronos has the literal full version of mantle with it essentially being renamed Vulkan, and then Apple and various other "spin offs" of the same idea and much of the same kind of code, in a manner the consoles did contribute.
ID: hfivjwi -
I feel like the PC ports have gotten better in the worst cases.
-
As
said, cross compilation means that the architecture difference don't really matter that much.Last gen consoles, even though they were x86-compatible, had a CPU that was unlike anything a PC had, had extra hardware and somewhat different APIs. Microsoft did replace the Xbox One's OS with a subset of Windows 10, two years after the Xbox One release, and that might have helped, as well as the 3D API, which were largely DX11/DX12.
Consoles in general are easier because they don't have the same ability to task-switch, or have multiple monitors, and don't have mouse/keyboard controls (though that ability was also added with time). Console games were mostly designed for a certain resolution and refresh rate, sometimes with a 30 FPS limit. Moving a game to PC requires more work to support all the features expected by PC gamers, and changing console architectures didn't affect this.
Consoles are also always stuck with a specific CPU and GPU, in this case a different CPU than PCs and a GPU that was close to a specific AMD PC architecture, but still, that specific architecture. This means that optimisation for consoles doesn't really apply to PCs. Console developers also don't come across PC driver issues.
In the end I think that the situation with ports is better, but I'd chalk that to the PC gaming ecosystem becoming more mature. Developers know that they can get earn more money on the PC, so it's supporting it. The console hardware might help to an extent here, in particular the latest gen, which is closer to PC hardware than the last gen was.
-
Seriously, AFAIK nobody is hand-writing x86 assembly code for these consoles. What they are optimizing for is cache size, memory latency, etc. stuff that has to do with the performance characteristics of the CPU, NOT the micro architecture.
-
Very little. The actual CPU architecture is mostly abstracted away from you by your programming language.
ID: hfi4ad5You assume there is no performance tweeking at all, sure the level designer does not care but you can bet your ass the engine developer does.
ID: hfj313aPerformance tweaking for an 8c ~1.6ghz Bobcat is not the same as performance tweaking for a 4-6c ~4ghz Desktop x86 with AVX2
ID: hfi6sovSomeone has to develop the low level engine...
ID: hfi7ck9The "low level" engine is not "low level" enough to care about the CPU microarchitecture in 99% of the cases.
-
Since we can't dimension travel, we have no way of doing a direct comparison with an alternate reality where consoles didn't move to x86. However, the bottom line is that it reduced the amount of platform-specific work. And while there's no doubt that some of that efficiency increase was converted into savings and just pocketed by some studios, it has also lead into more consistent quality in games. If a game is a buggy piece of shit, it's more likely to be a buggy piece of shit on all platforms instead of just PC.
In fact, when was the last time you even heard the phrase "PC port" in the context of modern games? Cross-platform development and simultaneous release became all the rage in the 2010s and with some exceptions, PC ports are a thing of the past. This was made possible in part by the more efficient use of resources allowed by the console x86 transition. Availability of cross-platform game engines has also contributed of course, but the development of those engines has also seen an efficiency increase from x86 being so prevalent.
-
What truly happened is PC games got a bit shittier: menus optimized for controllers, lots of player handholding guiding to the next objective, maps shrank so consoles could run them, just all around peasantry.
-
I don't think there's really been much of an impact thus far.
By far the biggest improvement with PC gaming performance was due to AMD's Mantle pushing for lower-level access. The draw call overhead on PC's is inordinately higher than on consoles. Mantle, which is the basis of Vulkan, closes the gap almost entirely. DirectX 12 had to follow the same path.
-
None, except that now games that are ports from the consoles should come a lot faster and be a lot better...but with console games this can never be guaranteed...;) I tend to stay away from console-to-PC ports as a general rule. I suspect that Ryzen CPUs had a much larger effect on console games than the other way around.
-
Biggest thing I'm excited about is how fast emulation will move. Since it is emulating x86 there's no trickery that needs done, just straight up emulation. Which means current gen emulation will become incredibly viable and accessible
-
Because x86 has some of the highest amounts of optimizations, games can benefit from the architecture, plus it cuts out the expensive need for complex coding.
Also, making an OS for an x86 platform is rather easy. You can create your own fork of existing x86 operating systems like FreeBSD, GNU/Linux, or OpenIndiana and use it as a base to build from.
This leads to easier debugging and game engines already working can be used more quickly.
ID: hfj953gYou have no idea what you’re talking about.
-
[deleted]
ID: hfi0ymaX86 is the architecture in this case. The bits for x64 or x86 is the instructions set.
An architecture is x86 or Arm or powerPC or else.
引用元:https://www.reddit.com/r/Amd/comments/q20jo5/what_impact_did_consoles_moving_to_x86_have_on_pc/
While what you wrote is true, graphics APIs like Mantle has little to do with the consoles moving to x86 CPU architecture.