pswii60

Member
Oct 27, 2017
27,933
The Milky Way
I've been playing on PC my whole life but I didn't seriously get a decent PC and play many AAA games until after 2017. At that time shader compilation wasn't an issue, at least I never noticed it. However it seems like every game that comes out today has stuttering issues. My post isn't just to complain about these stuttering issues but to ask how developers can properly solve it. I personally find the way MH: Rise/MW19 handle shader compilation a bit annoying and inelegant. I much prefer async shader compilation however this seems to be the root cause of a lot of these games issues.

Basically what I want to know is are we doomed with either bad stuttering or compiling shaders every update/driver update? What is the reason so many modern games have these issues?
No it's not the only way.

Engines such as RE engine, and more recently Decima, just compile shaders seamlessly as a background task as you're playing, so there's no stutter nor any need to wait for them to compile. This should be the standard.

Unfortunately UE4 (or even UE5) doesn't have this option so the shaders need to be compiled on the title screen (Psychonauts 2/The Ascent), during loading (Gears 5) or during cutscenes (SW3 since recent patch).
 
OP
OP

Deleted member 93062

Account closed at user request
Banned
Mar 4, 2021
24,767
No it's not the only way.

Engines such as RE engine, and more recently Decima, just compile shaders seamlessly as a background task as you're playing, so there's no stutter nor any need to wait for them to compile. This should be the standard.

Unfortunately UE4 (or even UE5) doesn't have this option so the shaders need to be compiled on the title screen (Psychonauts 2/The Ascent), during loading (Gears 5) or during cutscenes (SW3 since recent patch).
Yeah I've heard async shader compilation exist however Monster Hunter Rise has to compile shaders the first time launch it and sometimes it randomly does it as well at start.
MONSTER-HUNTER-RISE-compiling-shaders-stuck.jpg


If this is what is required to get a stutter-free experience, I'm fine with that. But I don't believe games have done this in the past and I personally find it inelegant approach that makes it feel like I'm emulating a game.
 

Mars People

Comics Council 2020
Member
Oct 25, 2017
18,546
No it's not the only way.

Engines such as RE engine, and more recently Decima, just compile shaders seamlessly as a background task as you're playing, so there's no stutter nor any need to wait for them to compile. This should be the standard.

Unfortunately UE4 (or even UE5) doesn't have this option so the shaders need to be compiled on the title screen (Psychonauts 2/The Ascent), during loading (Gears 5) or during cutscenes (SW3 since recent patch).
Why did RE8 have shader compilation problems then?
 

Mars People

Comics Council 2020
Member
Oct 25, 2017
18,546
Ok my bad. RE8's problems seemed very like shader compilation stutters to me.
 
Oct 25, 2017
6,773
Re. Driver updates on console, I'd guess that games specify what version of the runtime environment they're built for and the OS uses that for that game, permanently, regardless of whether new runtime environments (drivers etc) become available. That is, consoles do get driver updates, but only games released on or after that driver update, built to that update, use those drivers. I'd guess that's to absolutely guarantee compatibility and so that performance is fixed and repeatable/testable for the dev.

The downside of that is that console driver updates don't 'fix' or improve performance in games released to date, they're targeted at future games only. The upside is the software target environment is also fixed for things like shader compilation etc. So that'd be the trade off to introduce something similar on PC operating systems to handle the driver update scenario.
this is correct.
 

Chev

Member
Mar 1, 2021
752
I remember there were some older gen DX games that still did spend time optimising shaders whenever you'd launch or load a new level. The first I remember noticing was CoD: Advance Warfare but all the CoD games thruogh to CoD WW2 would have a (sometimes rather long) shader optimization step. MW Remastered did too.

Those were all DX11, so I'm not sure what was going on.
As long as you ship the intermediate compiler with the game you can compile at the last moment in dx9/10/11 too. But obviously since the intermediate code is the same on all machines it's much easier on the user to do it on the dev side, and it was the way you were "supposed"to do it (and it was even mandatory for Windows store games).
 

PeachyTofu

Magazine Journalist - PLAY, PC Gamer, Edge
Verified
Jul 9, 2021
180
United Kingdom
It has been a nightmare. I need to spend 3 hours minimum troubleshooting every new game. (or game released the past 2 years)

And it's never the same solution each game is fucked in its own way.
Now I'm working full time and have much less free time, I've moved over to PS5/Series S for most of my games for this exact reason.

Got absolutely sick of wasting my precious moments of free time troubleshooting random performance issues or errors for hours and hours.
 

elenarie

Game Developer
Verified
Jun 10, 2018
10,970
So how do consoles handle the two above scenarios, and can PC do the same?

Bit of console publishing fun: when you release a game for PS or Xbox, you build that game against a specific SDK version. This SDK version is always ever-present on the consoles and does not change when new versions are released / updates introduced. Your game runs in a sandboxed environment, and as part of the publishing process you hook your game to load the exact specific SDK version you need for your game. Thus no updates to the console in any way can interrupt or disrupt your game's dependencies.

That's the rough details. Think of it this way, every game bundles with itself the exact environment it needs to run.

So on a game released in 2014, when you run it in 2021 on a console, the console uses the exact runtime files from 2014 to run your game, even though there have been many updates since then.

PC could potentially do that, but that would mean bundling an entire stack of a virtualised Windows + drivers + any compatibility layers to completely isolate the game from the underlying hardware infrastructure, which would be an ungodly monumental task considering the potential number of variations.
 
Oct 31, 2017
8,466
Same thing, got a new pc, being influenced by "pc mustard race" people.

It has been a nightmare. I need to spend 3 hours minimum troubleshooting every new game. (or game released the past 2 years)

And it's never the same solution each game is fucked in its own way.
Of course what reads as spotty hyperbole at best had to come from someone that incidentally already had a gripe with the "pc mustard race" strawman.

I try to stay away from discussions about "performance issues in PC games" because currently I'm admittedly more than a bit "overgeared" to count my case as a typical one AND the fact that I have no issues doesn't mean problems don't exist at all, but still... this reads like a comedic dramatization.

I can't even remember the last time I had to spend ANY amount of time "troubleshooting" at all, let alone HOURS on each individual game.
 

Lashley

<<Tag Here>>
Member
Oct 25, 2017
63,133
Same thing, got a new pc, being influenced by "pc mustard race" people.

It has been a nightmare. I need to spend 3 hours minimum troubleshooting every new game. (or game released the past 2 years)

And it's never the same solution each game is fucked in its own way.

And then we have Elden Ring which takes the cake with Easy Anti Cheat + DX12 combo which doesn't let us do anything.

I wanted to play Nier Replicant to wash the taste of it and I shit you not it was somehow even worse. SpecialK had to implement 4 different fixes to undo the damage the last official patch did. Insanity.
I don't believe you.
 

Deleted member 93841

User-requested account closure
Banned
Mar 17, 2021
4,580
Same thing, got a new pc, being influenced by "pc mustard race" people.

It has been a nightmare. I need to spend 3 hours minimum troubleshooting every new game. (or game released the past 2 years)

And it's never the same solution each game is fucked in its own way.

And then we have Elden Ring which takes the cake with Easy Anti Cheat + DX12 combo which doesn't let us do anything.

I wanted to play Nier Replicant to wash the taste of it and I shit you not it was somehow even worse. SpecialK had to implement 4 different fixes to undo the damage the last official patch did. Insanity.

The platform warring in this post couldn't be more obvious.

If you're having so much trouble that you have to spend 3 hours troubleshooting each game you play, then you need to have someone who is experienced with PCs look at yours to see what's wrong with it, because clearly something isn't working right.
 

Briareos

Member
Oct 28, 2017
3,235
Maine
Those were all DX11, so I'm not sure what was going on.
All DX11 games shipped an intermediate representation known as DXBC, which drivers compile down to GPU microcode. Some drivers would maintain their own internal caches both during process run, as well as serialized to disk. This is because drivers would attempt to optimize game microcode, so even if the game didn't think there was compilation occurring past a certain point, a driver might be trying a variety of different scheduling techniques, or even more advanced ideas like doing state vector optimizations where it examines a frequency/histogram of bound state or variables to a shader and attempt to generate specific "optimized" variants for that game's execution. This can be problematic because sometimes drivers would attempt "risky" optimizations that would cause bugs, especially around floating point math behavior. But also because the game doesn't know this compilation is happening and whether it might cause resource load problems, as drivers would spin up their own background threads, etc.

DX12 uses the new DXC compiler and IR, but still has to rely on drivers to compile to microcode. However DX12 had a contract that drivers would not do background compilation, and added an explicit cache mechanism as well. That said after a few years there were concerns about implementation by game authors and they added some explicit background compilation mechanisms: https://devblogs.microsoft.com/directx/background-shader-optimizations/. Titles can opt in/out of this.

There's a lot more to this discussion--why permutations exist, whether OS vendors could support background pre-compilation of the cache when drivers are updated, etc., but it's a long conversation. Trust me when I say we spend a lot of time working on these problems and the space is complex.
Thus no updates to the console in any way can interrupt or disrupt your game's dependencies.
Mostly true. There are a variety of exceptions to this in firmware for various reasons. One vendor updated their job thread kernel over time and later told us they had special exception behavior for our older titles that had some small timing bugs, and we were very flummoxed they didn't just tell us so we could fix them...
 
Jul 7, 2021
3,232
This thread is a treasure trove of tech insight into this issue. Thanks devs and knowledgeable people for taking the time to share your expertise.

The bundling of the sdk with a console release makes perfect since but still blew my mind.
 
OP
OP

Deleted member 93062

Account closed at user request
Banned
Mar 4, 2021
24,767
All DX11 games shipped an intermediate representation known as DXBC, which drivers compile down to GPU microcode. Some drivers would maintain their own internal caches both during process run, as well as serialized to disk. This is because drivers would attempt to optimize game microcode, so even if the game didn't think there was compilation occurring past a certain point, a driver might be trying a variety of different scheduling techniques, or even more advanced ideas like doing state vector optimizations where it examines a frequency/histogram of bound state or variables to a shader and attempt to generate specific "optimized" variants for that game's execution. This can be problematic because sometimes drivers would attempt "risky" optimizations that would cause bugs, especially around floating point math behavior. But also because the game doesn't know this compilation is happening and whether it might cause resource load problems, as drivers would spin up their own background threads, etc.

DX12 uses the new DXC compiler and IR, but still has to rely on drivers to compile to microcode. However DX12 had a contract that drivers would not do background compilation, and added an explicit cache mechanism as well. That said after a few years there were concerns about implementation by game authors and they added some explicit background compilation mechanisms: https://devblogs.microsoft.com/directx/background-shader-optimizations/. Titles can opt in/out of this.

There's a lot more to this discussion--why permutations exist, whether OS vendors could support background pre-compilation of the cache when drivers are updated, etc., but it's a long conversation. Trust me when I say we spend a lot of time working on these problems and the space is complex.

Mostly true. There are a variety of exceptions to this in firmware for various reasons. One vendor updated their job thread kernel over time and later told us they had special exception behavior for our older titles that had some small timing bugs, and we were very flummoxed they didn't just tell us so we could fix them...
In your eyes, do you think these stutters are mostly growing pains with DX12 and will be resolved as developers get more familiar with it?
 

ApexNorth

Member
Oct 27, 2017
1,183
I remember having to wait 20-30 mins for shaders to compile when Mass Effect: Andromeda released. It was annoying to because every time they released an update you had to wait for the shaders to compile again, even without any update it still took me 5 mins to even get to the main menu.
 
OP
OP

Deleted member 93062

Account closed at user request
Banned
Mar 4, 2021
24,767
I remember having to wait 20-30 mins for shaders to compile when Mass Effect: Andromeda released. It was annoying to because every time they released an update you had to wait for the shaders to compile again, even without any update it still took me 5 mins to even get to the main menu.
That's annoying and what I fear is going to become more common for PC games which is why I made this thread.
 

Briareos

Member
Oct 28, 2017
3,235
Maine
In your eyes, do you think these stutters are mostly growing pains with DX12 and will be resolved as developers get more familiar with it?
Unfortunately I don't think you can reduce it to a simple statement like that. Shader complexity has grown at an astounding rate and by and large compiler sophistication for shaders has struggled to keep up (see Matt's post linked before, Natasha Tatarchuk did a good talk about this at SIGGRAPH a few years ago as well). That is in tension with more developers moving to PC, varying levels of sophistication of implementation and work prioritization by developers, and a frontier of improvements by the API/OS folks. Some times those improvements are tied to OS versions as well, it's a complicated landscape. Ultimately if you're unhappy I recommend a polite note to CS/Twitter/etc. We maintain huge lists of "top issues" based on feedback via social media, telemetry, etc., and prioritize accordingly (and even post them publicly).
 
Jul 7, 2021
3,232
The good news at least is that more and more devs are becoming aware of this issue and trying solutions. Places like digital foundry are pointing it out, and PC gaming is so large and such an important part of a devs revenue and community that the situation isn't likely to just be completely ignored like it might have been back in The 360 era.

Also I have seen a lot of people bring up Guardians of the Galaxy a lot as an example of shader compilation issues, but I had zero issues with that game. It's always smooth for me.

Does the game use Steams shader cache? It would explain things as I didn't play it on release but like a month later.
 
Nov 2, 2017
2,275
The good news at least is that more and more devs are becoming aware of this issue and trying solutions. Places like digital foundry are pointing it out, and PC gaming is so large and such an important part of a devs revenue and community that the situation isn't likely to just be completely ignored like it might have been back in The 360 era.

Also I have seen a lot of people bring up Guardians of the Galaxy a lot as an example of shader compilation issues, but I had zero issues with that game. It's always smooth for me.

Does the game use Steams shader cache? It would explain things as I didn't play it on release but like a month later.
I don't think Guardians has shader compilation stutter. It does have some very slight stutter when assets get loaded in. The extent of the latter might depend on your hardware though.
 

Deleted member 110527

Mar 11, 2022
1,311
id showing they are the masters of their craft

this is why i still ride for id so hard. their games were the first video games i ever played, and this new guard of id seems to completely understand what made those OG games so special, but also the technical prowess behind them. reading Masters of Doom, you can tell Carmack almost couldn't care less about the designs of the games they made... he was so laser focused on not only making impressive tech, but impressive tech that ran well, which i feel like id lost the plot about somewhere around Rage and the whole "MegaTextures" boom, but obviously have regained in spades with how beautifully Doom Eternal runs. you love to see it!
 

Puggles

Sometimes, it's not a fart
Member
Nov 3, 2017
3,165
I'm fine with it being done on the first boot but it seems like it needs to be done every time the graphics drivers get updated which gets annoying.
 

Corralx

Member
Aug 23, 2018
1,176
London, UK
Basically what I want to know is are we doomed with either bad stuttering or compiling shaders every update/driver update? What is the reason so many modern games have these issues?

EDIT: Sorry for the wall of text, I was't expecting this to be this long lol.

This is a million dollars question and the solution is very complex.
The first step is to understand *why* the problem exists.
Shaders are simply programs (written in textual form), that are running on the GPU rather than the CPU.
And just like CPU code, they need to be compiled into a binary form that the GPU can understand and execute, which is a very complex and expensive process.
On the CPU side, the target set of instructions supported by all Intel and AMD CPUs (the ISA), is well defined and you can compile ahead of time, produce a binary, and if everything is done correctly, it'll work on all machines (spending a few hours to compile the game on the customer machine before launching it wouldn't be very fun after all).
On the GPU side, there's no standardised ISA. While all GPUs implement the same abstract model defined by graphics APIs, they do so in *very* different ways, and things can change radically even from one generation to the next of the same IHV.
This means shaders needs to be compiled for every possible architecture, and the easiest solution is to let the specific driver on the customer machine handle it.
To make it worse, shader compilation is a process that depends on *what* you're trying to draw, and the same shader is usually compiled tens or hundreds of times in different variations to support different features.

The problem is not new and has always been there, but there are some factors that exacerbated it in recent years:
- The complexity of games is exploding, and with them the sheer number of shaders and their complexity is also skyrocketing. This is a double whammy for perf. Not only it'll cause a stutter because the game needs to wait for the compilation process to complete, but in general GPU perf will decrease with the increase in the number of different shaders used by a frame (UE and any engine with support for a visual node-based editor for materials are especially bad at this, as it's easy to make thousands of small different permutations by changing a node without realising it)
- New features added to DirectX 12 made the compilation process even more complex and expensive
- GPU performance is dramatically affected by the quality of compilation (way more than on the CPU side). It's a huge trade-off of compilation speed vs. performance of the code produced. As you can imagine no IHV wants to leave perf on the table, so compilation speed is not prioritised
- Old style APIs (especially DirectX 11) had constraints on the compilation that gave developers some baseline guarantees. Microsoft required that games could compile a reasonable number of shaders synchronously per frame without any visible effect (ie. stuttering) to the final player. It also allowed background and multi-tiered shader compilation. Of course exactly define what "not having visible side effects in reasonable scenarios" means is hard, but in practice, together with the much lower complexity of games, drivers were doing a pretty good job at hiding the issue. In DirectX 12 (and equivalent APIs) things changed, these requirements are gone and some additional restrictions have been added on *what* drivers can do in the background effectively limiting how far IHV can go to solve the issue (even tho Microsoft later backtracked to a certain degree), and the complexity has been moved into the hands of developers. Turns out, developers thought drivers were doing a shitty job and they wanted lower level access, but they actually don't (but that's a whole different issue).
- Shaders need to be recompiled every time the OS or driver are updated, and updates have become more and more common

Consoles don't have the same issue (with some extreme exceptions) because, since the hardware is fixed, you can precompile all shaders down to the real machine code for the GPU and ship it, pretty much avoiding the shader compilation cost.
This also means you can spend as much time as you want compiling shaders, generating the most efficient code without worrying about runtime issues.
Even system/driver updates don't affect existing games because usually each game keeps being executed in the same environment it was build and deployed against, guaranteeing future proofing against updates.
One of the many reasons consoles have an advantage over open platforms like PCs.

Vendors, both IHV and ISV are actively working hard to mitigate the issue obviously, but finding a solution that doesn't affect GPU performance negatively is extremely hard. Whatever solution you apply, it also needs to be future proof, ie. future GPUs with radically different architectures still need to be able to run that code correctly. No one would want a new GPU that can't run existing games after all.
Most of the burden today is in the hands of developers. It requires a mixture of reducing shader complexity and combinatorial explosion by imposing tighter control on the development process, precompiling the most commonly used shader on first launch or during the loading screen, compile the remaining less common shaders asynchronously in the background (which requires some knowledge of what content is gonna be displayed next).

The real solution however is to allow precompilation of shaders ahead of time, similarly to consoles.
This however requires complex new infrastructure to support the use case, and a lot of coordination between OS makers (Microsoft but also Apple or Linux), IHVs (Nvidia, AMD, Intel, Apple, possibly all mobile vendors), and possibly even storefronts like Steam or Epic Games to ship the correct shader binaries to customers. I'm sure it goes without saying this is a nearly impossible ordeal.
Ideally, games would ship a much lower level IR, one per vendor rather than a common high level IR defined by the API, one that is defined by each IHV (with tools provided to developers by them) and allow the driver to convert this into the final machine code for the real GPU much much faster.
At the same time a tighter integration of OS, drivers and APIs could allow shaders to be recompiled in the background on a system or driver update before game are even ran in the first place (but this obviously comes with its own set of issues and complexities).

TL; DR: shader compilation is a fucking nightmare.

It wasn't an issue at all because you can ship intermediate compiled shaders (so there's no real runtime cost). DX12/Vulkan don't work like that, and shaders must be compiled at runtime (either doing it in bulk when you start the game or on demand).

Shipping the intermediate representation (IR) of compiled shaders is still the norm in DirectX 12 (DXIL), Vulkan (SPIR-V) or Metal (AIR).
Nothing changed on that front.
There definitely is a runtime cost, and a massive one a that.
In fact, the first step of the compilation process that developers do offline during development (shader source -> IR) is the cheap part and only account for probably 5-10% of the total compilation cost.
Which is why IRs (at least in their current form) are not actually a good solution to the problem.
 
Last edited:

Rente

Member
Oct 31, 2017
987
Cologne, Germany
The good news at least is that more and more devs are becoming aware of this issue and trying solutions. Places like digital foundry are pointing it out, and PC gaming is so large and such an important part of a devs revenue and community that the situation isn't likely to just be completely ignored like it might have been back in The 360 era.

Also I have seen a lot of people bring up Guardians of the Galaxy a lot as an example of shader compilation issues, but I had zero issues with that game. It's always smooth for me.

Does the game use Steams shader cache? It would explain things as I didn't play it on release but like a month later.
According to the STEAM client it only downloads pre-compiled shaders for Vulkan and OpenGL games, so no DX12.
Also, they changed recently how often this cache is flushed, more here: https://www.phoronix.com/scan.php?page=news_item&px=Steam-Flush-Stale-Cache

I don't think Valve is investing resources in fixing shortcomings of DirectX-based games right now. They are pushing Vulkan, STEAM OS and the Deck hard - if this leads to solutions that can also be applied to Windows and DirectX-based games, then perhaps they will flow back at some point.
 
Last edited:

Tahnit

Member
Oct 25, 2017
9,965
Same thing, got a new pc, being influenced by "pc mustard race" people.

It has been a nightmare. I need to spend 3 hours minimum troubleshooting every new game. (or game released the past 2 years)

And it's never the same solution each game is fucked in its own way.

And then we have Elden Ring which takes the cake with Easy Anti Cheat + DX12 combo which doesn't let us do anything.

I wanted to play Nier Replicant to wash the taste of it and I shit you not it was somehow even worse. SpecialK had to implement 4 different fixes to undo the damage the last official patch did. Insanity.

seriously. this is the kind of shit that is pushing me to consoles more and more. Destiny 2 had 2 weeks where it was BAD. Stutter galore during pvp and destiny is my jam. I bought Witch queen on ps5 and havent looked back really. its fixed on pc now but i prefer playing on my ps5.

Games on ps5 just work fine without massive stuttering. once VRR hits the field we will be in a great place performance wise for games.
 
Jul 7, 2021
3,232
seriously. this is the kind of shit that is pushing me to consoles more and more. Destiny 2 had 2 weeks where it was BAD. Stutter galore during pvp and destiny is my jam. I bought Witch queen on ps5 and havent looked back really. its fixed on pc now but i prefer playing on my ps5.

Games on ps5 just work fine without massive stuttering. once VRR hits the field we will be in a great place performance wise for games.

Do we really need this platform warring in an otherwise super great thread?

Not to mention that the notion of console gaming being trouble-free is laughable. There are people refunding the Skywalker Saga on the OT thread due to it's performance and IQ on PS5. To play Elden ring without frame rate issues people are playing the last-gen version of the game on their PS5's, and these are just two recent games off the top of my head and not being much of a console gamer. Hell, even in the year of our lord 2022 we still have AAA console releases with anisotropic filtering at like x4 quality, some making terrain and textures look like it's 2009.

Having a handful of games potentially have shader compile issues in a given year is a price I wish I didn't have to pay, but I'd gladly pay it for not having to give up IQ and graphics settings if I want over 30 FPS performance in most games, or for playing games like Pathfinder: Wrath fo the Righteous or the other great 100 games that won't see console releases (ever or for a long while).
 
Last edited:

Tahnit

Member
Oct 25, 2017
9,965
Now I'm working full time and have much less free time, I've moved over to PS5/Series S for most of my games for this exact reason.

Got absolutely sick of wasting my precious moments of free time troubleshooting random performance issues or errors for hours and hours.
I am in the same boat. im sick of trying to fix these games that should run fine on my pc.
 

Duxxy3

Member
Oct 27, 2017
23,248
USA
The more that developers are adding their input into this thread, the worse worse I feel about all of this. It doesn't seem like it's going to get fixed and games will continue to be hit or miss.
 
Jul 7, 2021
3,232
The more that developers are adding their input into this thread, the worse worse I feel about all of this. It doesn't seem like it's going to get fixed and games will continue to be hit or miss.

It does sound like hard problem to solve, but so far all of the devs have given ways in which to solve them, even if not all optimal end-user wise.

We just need to see these solutions be applied, and hopefully, future API's will improve on the problem in some innovative ways.
 
Jul 7, 2021
3,232
Add Apex Legends to the list. Shaders need recompiling after every update.

That's not too bad. I'd rather the game take the time to do this vs having a stutter. I just wish it was implemented in the background, so like downloads/updates on Steam that happen in the background without you having to think about it, an update would automatically trigger an optimized shader build step for installed games. Or better yet an extra download step that would download the shader cache from Steam that it generated using the current + last few versions of the GPU drivers + GPU you own on their server cluster.
 

PeachyTofu

Magazine Journalist - PLAY, PC Gamer, Edge
Verified
Jul 9, 2021
180
United Kingdom
I am in the same boat. im sick of trying to fix these games that should run fine on my pc.
Happy to pay the £10-20 more for the console editions just to not have to deal with it! Only things I play on PC now are older games, press copies that didn't have a PS5/S|X option or strategy titles that really benefit from mouse/keyboard.
 

Pheonix

Banned
Dec 14, 2018
5,990
St Kitts
If you wat to eek out the absolute best performance from that shiny new GPU, then shaders have to be compiled. They are hardware-specific. Vs the generalized approach to the same thing in the past, which would usually lead to games just running better on a particular hardware config than anoyher.

So it's here to stay, the real issue, is how devs are choosing to do it. It can be done in a way that you would never realy notice it.
 
Jul 7, 2021
3,232
Happy to pay the £10-20 more for the console editions just to not have to deal with it! Only things I play on PC now are older games, press copies that didn't have a PS5/S|X option or strategy titles that really benefit from mouse/keyboard.

But you do. As I pointed out above, issues DO exist on console games. Maybe not this particular issue, but Iq, performance and stability issues happen all the time on console games.
 
Jul 7, 2021
3,232
If you wat to eek out the absolute best performance from that shiny new GPU, then shaders have to be compiled. They are hardware-specific. Vs the generalized approach to the same thing in the past, which would usually lead to games just running better on a particular hardware config than anoyher.

So it's here to stay, the real issue, is how devs are choosing to do it. It can be done in a way that you would never realy notice it.

And we need those ways to become common practice. Like not using frame rate as a variable to base logic on your game loop became a thing. Just something devs start being cognizant about.
 
Jul 7, 2021
3,232
I feel better playing a console game running poorly because at least it feels totally out of my control and is generally patched up pretty soon.

Same on PC... major issues like stability and performance are generally patched up pretty soon. Not sure that feeling helpless to do anything about anything would make me feel better about the situation though, but more power to you.
 

Yudoken

Member
Jun 7, 2019
820
Obviously no, Horizon on pc first started with a long shader compilation until the the big 1.11 update which has introduced DLSS and now the game always compile shaders during loading and in the background without stuttering and it works pretty well. With Horizon they've really done took care of the game and despite the bad launch if you were like me and started the game with the DLSS update it's a huge worthwhile upgrade.

4k with DLSS quality, max settings and above 90fps all the time. No apparent stutter or issues. It's fantastic.

Like always if devs and publishers took some time to make it better it can be done. Most just really don't care.
 

Nooblet

Member
Oct 25, 2017
14,395
Not exactly, you can use async compute.

For example Gears 5 is a UE4 title and its performance is exemplary for any game on any platform with any engine.
 

jack.

Member
Oct 27, 2017
1,190
This was unexpectedly one of the coolest Steam Deck features for me. It seems that they're crowdsourcing cached shaders and it keeps the cache up-to-date with frequent, small downloads.
 
Feb 27, 2019
1,548
Now I'm working full time and have much less free time, I've moved over to PS5/Series S for most of my games for this exact reason.

Got absolutely sick of wasting my precious moments of free time troubleshooting random performance issues or errors for hours and hours.

its not platform warring. Its a legitimate concern of pc gaming as of late. something has to change. more and more games are having major performance problems unless you have a 3k pc.

Yup, this is why I play most things on console these days. I just don't have the spare time to troubleshoot things anymore. I don't want my hobby to aggravate me.

Plus, VRR on Series X smooths out most frame hitches to the point where I don't notice them much.

I still have a PC for strategy games that are better with keyboard and mouse but otherwise I mostly play on console. Never thought I'd say that a few years ago but it's true.
 

Deleted member 93841

User-requested account closure
Banned
Mar 17, 2021
4,580
its not platform warring. Its a legitimate concern of pc gaming as of late. something has to change. more and more games are having major performance problems unless you have a 3k pc.

It is platform warring, because you're intentionally ignoring the fact that console games have problems too. Go look at the Horizon Forbidden West patch threads to see people complaining about IQ in performance mode and that the 30fps mode doesn't feel smooth. Look at the Elden Ring threads to see that people are recommending the PS4 version on PS5, because the PS5 version has performance issues. Look at the Stranger of Paradise threads to see people complaining that the game looks like it's being rendered at 720p on PS5. Cyberpunk literally got yanked from the PS store because of its issues. There's a massive list of such issues in games, be it PC, PS5, Xbox Series S/X or Switch. No platform is without its problems.

And if you really have to spend a minimum of 3 hours tweaking every game released in the last two years to get it to work properly, you screwed up something up while building or configuring your PC, because that's not normal.
 

Corralx

Member
Aug 23, 2018
1,176
London, UK
Not exactly, you can use async compute.

For example Gears 5 is a UE4 title and its performance is exemplary for any game on any platform with any engine.

Async compute is not related to shader compilation (which is a CPU process). It's rather about execution on the GPU.

Is that due to shader compilation, though? The Quest 2 is fixed hardware, so I'd imagine games are shipped with shaders pre-compiled for it.

The hardware being fixed doesn't really matter.
Desktop (or even mobile) APIs don't allow to precompile shaders for a specific GPU even if the developer wanted to.
 

Mars People

Comics Council 2020
Member
Oct 25, 2017
18,546
I don't understand how these PC games get out of the door with severe stuttering issues that are evident on every PC that plays them.
Or why many games with these issues still aren't fixed.

For example, Elden Ring and FFVIIR. Still not fixed. What is going on?