Digital Foundry: Last year was a disaster for PC gaming: Here's How Things Need to Change (PC trails PS5 in performance and optimization)

ethomaz

Rebolation!
21 Jun 2022
8,579
7,271
Brasil 🇧🇷
PSN ID
ethomaz
That's not true... there are fixes, and many games already utilize them.

Time and time again developers have proven that these issues can be all but completely sidestepped with proper pre-compilation and/or async compilation, which is what is being called on developers to implement.

It's not reasonable to expect developers themselves to precompile shaders for individual GPU and driver combinations and store them on a server for people to download... as hardware continues to progress, they'd have to continually update and add "shader pack" support for the new GPUs + drivers.. That wont happen.. and it's not even an elegant solution. We already have better solutions in place which are practical... which is why we should expect developers to instead allow us to precompile the shaders for our specific configurations... and then to speed up THAT process. For example, you could augment it by connecting to servers to accelerate the compiling the shaders for our specific GPU+driver combo.. taking that time from say 4 minutes.. to just 45 seconds for example.

I'm not going to go into detail about it all here, but Ethomaz, you know from another forum that we post on that I've spoke about this a ton. It's not that this is some insurmountable problem.. the issue currently is standardizing pre-compilation by developers. A lot of developers are apprehensive of putting their users through 1-10 minutes (for example) of waiting for shaders to compile.. and that's understandable... however, that's simply a reality of the openness of the platform. PC gamers need to think of it as essentially "installing" the game..

Waiting a couple of minutes one time at initial launch (or after driver updates) is a very small price to play for a smooth gaming experience. And like I said above.. after we get that process standardized... then you can look at ways of accelerating that process so that it's as quick as possible for consumers. CPUs with more cores will crunch through compilation processes very quickly.. and like I said, connecting to a server to help crunch through compilation can be added to accelerate it to where it's essentially a complete non-issue.
Pre compilation or Async compilation like most if not all games do is not a fix.
And even so the games continue to shutters.

The shader compilation issue will only become worst in the future because games trend to become bigger using more and more shaders.

It was not a issue when it was created because games were smaller and used way less shaders than nowdays.
 

Remij

Banned
10 Jul 2022
877
730
Pre compilation or Async compilation like most if not all games do is not a fix.
And even so the games continue to shutters.

The shader compilation issue will only become worst in the future because games trend to become bigger using more and more shaders.

It was not a issue when it was created because games were smaller and used way less shaders than nowdays.
lol wut? Yes it is a fix... it's literally THE fix. That's LITERALLY what they do for consoles... the only difference being the code is shipped in the package on console, whereas on PC you have to pre-compile it.

As far as what else developers can do, they can author their shaders and be less wasteful with regards to material reuse to keep PSOs in check so that there's a few permutations as possible. But really, when they do that, they're doing it moreso for themselves during development. Being smart about how they author shaders will prevent unnecessary permutations from needing to be compiled.. and during development, time is money, so anything they can do to lower the amount of time wasted compiling shaders, the more they can iterate on and build the game. And that's not just about PCs either... that applies to all devices. They don't want to have unnecessary shader permutation explosions on consoles either.

THE way to deal with this for consumers on PC is to log PSOs while developers develop and play the game to understand which PSOs the game utilizes and which are required for all the materials seen in the game... which then allows them to be compiled ahead of time.

The "more and more shaders" thing isn't an issue for consumers, so much as its an issue for developers and development efficiency.. regardless of platform... Developers now are becoming more conscious of creating better less wasteful shaders. So that along with API improvements and extensions, I bet from that perspective it actually gets better for developers in the near future.

The "amount" of shaders.. is a development efficiency issue... not really a consumer experience issue.
 

Remij

Banned
10 Jul 2022
877
730
Horizon Forbidden West on PC?
Ratchet and Clank: Rift Apart? :unsure:


:unsure:




:unsure:


"But but... 50 TFlops, 80 tensor cores, Overclocked, Machine Learning!!!"

These kids never ever learn. It's always about the games.
Those are fine looking games.. which aren't doing anything technically amazing or never done before... they're artistically impressive.. but that's about it 🤷‍♂️
 

anonpuffs

Veteran
Icon Extra
29 Nov 2022
8,322
9,547
Honestly it's pointless to compare how games look on pc vs how they look on console. You play games, not specs. There are very few games that are measurably improved because they are native 4k on a high end pc vs upscaled/TAA on console. The major advantage is playing with high framerate so frame drops aren't as noticeable, but recent games on PC have been a stuttery mess at launch. PC games have not impressed me in a long time. Give me a game like Stellaris that doesn't chug in the endgame and I'll be happier than if they added RT reflections at psycho quality or path tracing.
 

Alabtrosmyster

Veteran
26 Jun 2022
3,217
2,837
Honestly it's pointless to compare how games look on pc vs how they look on console. You play games, not specs. There are very few games that are measurably improved because they are native 4k on a high end pc vs upscaled/TAA on console. The major advantage is playing with high framerate so frame drops aren't as noticeable, but recent games on PC have been a stuttery mess at launch. PC games have not impressed me in a long time. Give me a game like Stellaris that doesn't chug in the endgame and I'll be happier than if they added RT reflections at psycho quality or path tracing.
Yes! This is why everyone has kept their DVDs to watch movies and nobody stream in high resolution! Complete non sense, nobody would change platform or upgrade just to get a better image!
 
  • haha
Reactions: anonpuffs

adamsapple

Banned
22 Jul 2022
2,013
1,507
In the end if the platform makes it harder than it should be it forces teams to devote more time and money to make their port as good as they "should" be it becomes a problem, simply because not all teams have the resources or the capacity to do everything correctly all the time (some studios can't do anything correctly at all).

That being said, his points aren't bad, I own a gaming PC so I want the games to run well on it.

Exactly. Regardless of platform the least one would expect is a smooth playable experience.

If most PS5 games start launching with stutters or subpar ports, PS5 owners would rightfully be upset about that too.
 

anonpuffs

Veteran
Icon Extra
29 Nov 2022
8,322
9,547
Yes! This is why everyone has kept their DVDs to watch movies and nobody stream in high resolution! Complete non sense, nobody would change platform or upgrade just to get a better image!
Lmao plenty of people watch movies on their phones, nintendo switch is the most popular console, and the biggest games on pc are league of legends and fortnite
 

thelastword

Veteran
4 Jul 2022
587
703
I have not had the time to watch the video as yet. Is Battaglia schooling devs on what they must do to get their ports up to par, so the PS5 won't school the RTX 2080? Battaglia seems so knowledgeable, I really wish he and Linneman would make a game so I could critique.....
 

TubzGaming

Admin | Mod
Moderating
21 Jun 2022
2,221
5,093
icon-era.com
PSN ID
Tubz_Gaming
Nonsense is one word, not two.
GIF by gochirp
 

ethomaz

Rebolation!
21 Jun 2022
8,579
7,271
Brasil 🇧🇷
PSN ID
ethomaz
lol wut? Yes it is a fix... it's literally THE fix. That's LITERALLY what they do for consoles... the only difference being the code is shipped in the package on console, whereas on PC you have to pre-compile it.

As far as what else developers can do, they can author their shaders and be less wasteful with regards to material reuse to keep PSOs in check so that there's a few permutations as possible. But really, when they do that, they're doing it moreso for themselves during development. Being smart about how they author shaders will prevent unnecessary permutations from needing to be compiled.. and during development, time is money, so anything they can do to lower the amount of time wasted compiling shaders, the more they can iterate on and build the game. And that's not just about PCs either... that applies to all devices. They don't want to have unnecessary shader permutation explosions on consoles either.

THE way to deal with this for consumers on PC is to log PSOs while developers develop and play the game to understand which PSOs the game utilizes and which are required for all the materials seen in the game... which then allows them to be compiled ahead of time.

The "more and more shaders" thing isn't an issue for consumers, so much as its an issue for developers and development efficiency.. regardless of platform... Developers now are becoming more conscious of creating better less wasteful shaders. So that along with API improvements and extensions, I bet from that perspective it actually gets better for developers in the near future.

The "amount" of shaders.. is a development efficiency issue... not really a consumer experience issue.
You can’t do what you do on consoles with the shader compiled cache… on console it is a part of the game data and it is immutable… it will always be a part of game data.

In PC that option doesn’t exists.
You talk about pre-compilation that could take from 20-30 minutes to hours depending of the game.
And Async compilation that will take resource from CPU while you play and probably generate shutters.

If you believe waiting that time after installation and having shutters with Async compile is a fix then we have nothing to talk here anymore.

Because that is literally the issue with shader compilation.
 

Remij

Banned
10 Jul 2022
877
730
You can’t do what you do on consoles with the shader compiled cache… on console it is a part of the game data and it is immutable… it will always be a part of game data.

In PC that option doesn’t exists.
You talk about pre-compilation that could take from 20-30 minutes to hours depending of the game.
And Async compilation that will take resource from CPU while you play and probably generate shutters.

If you believe waiting that time after installation and having shutters with Async compile is a fix then we have nothing to talk here anymore.

Because that is literally the issue with shader compilation.
You have literally no idea what you're talking about.. so yea, we are done here.
 

Satoru

Limitless
Founder
20 Jun 2022
6,800
10,251
You can’t do what you do on consoles with the shader compiled cache… on console it is a part of the game data and it is immutable… it will always be a part of game data.

In PC that option doesn’t exists.
You talk about pre-compilation that could take from 20-30 minutes to hours depending of the game.
And Async compilation that will take resource from CPU while you play and probably generate shutters.

If you believe waiting that time after installation and having shutters with Async compile is a fix then we have nothing to talk here anymore.

Because that is literally the issue with shader compilation.

Star Wars Battlefront 2 pre-compiles shaders in < 1 minute.
CoD WW2 pre-compiles shaders as well

It doesn't take 20 or 30 minutes, it's done partially during install and also during load.
 
  • Like
Reactions: Remij

Remij

Banned
10 Jul 2022
877
730
Star Wars Battlefront 2 pre-compiles shaders in < 1 minute.
CoD WW2 pre-compiles shaders as well

It doesn't take 20 or 30 minutes, it's done partially during install and also during load.
Exactly.

The Callisto Protocol takes less than 1 minute on my PC. Sackboy, which has TONS of different materials and shaders.. takes less than 30 seconds. Uncharted Collection takes about 7 minutes, but that's only because they don't max out the CPU to compile shaders, they do it on background threads while allowing you to use the main menu and do other things. Forza Horizon 5 takes about 40 seconds on my PC.. Detroit: Become Human takes a few minutes.. and that's because when they designed that game they authored the shaders and materials in a stupid way which didn't allow them to reuse materials. Monster Hunter Rise takes like 15 seconds.. Notice how the Resident Evil Remakes and 7, and 8, don't even have them.. because they asynchronously compile during gameplay. Same with Spider-Man Remastered and Miles Morales.. as well as Horizon Zero Dawn and Days Gone. Death Stranding pre-compiles and takes maybe a minute or two.. Gears 5 does a little initial compilation which doesn't take long at all... RDR2 as well.

Old ass CPUs could take 10+ minutes sure... and so fucking what? Did you have to wait to download the game? Yes. Do people with faster internet download games faster and wait less time? Yes. Get a modern CPU with modern core/thread counts. And like I said... games COULD augment and speed up that process, by connecting to a server which lends CPU processing power to your PC and helps compile shaders quicker. Faster CPUs in the future will also naturally compile faster.

-API improvements can/will reduce the amount of unnecessary shaders
-Smarter development practices can/will reduce the amount of unnecessary shaders
-Augmented Shader Precompilation process to speed up compilation when connected to a server

There's also, again, things like Valve's Fossilize.. which they use on Steam Deck and Linux.. which collects GPU agnostic PSO blobs and allows them to be downloaded and precompiled from Steam BEFORE THE GAME IS EVEN DOWNLOADED. It literally downloads the shaders first, and then compiles them while the game itself is downloading.

THAT is honestly the perfect solution... because if these shader pre-compilation processes were done as part of the Steam download process... nobody would say shit... It would be like your download taking 5 minutes longer... or the game having to "decrypt" after pre-loading... The reason why people get so pissy about waiting 5 minutes is because once they have the game open.. they expect to be able to do things instantly. So it's not even about having to wait 5 minutes.. it's just the IDEA of having to wait for something when you open the game.. fucking babies.

Pre-compilation IS the fix... alt-tab out to your browser and view a couple sites, and then it's done.. 🤷‍♂️
 
  • Like
Reactions: Satoru

Satoru

Limitless
Founder
20 Jun 2022
6,800
10,251
Exactly.

The Callisto Protocol takes less than 1 minute on my PC. Sackboy, which has TONS of different materials and shaders.. takes less than 30 seconds. Uncharted Collection takes about 7 minutes, but that's only because they don't max out the CPU to compile shaders, they do it on background threads while allowing you to use the main menu and do other things. Forza Horizon 5 takes about 40 seconds on my PC.. Detroit: Become Human takes a few minutes.. and that's because when they designed that game they authored the shaders and materials in a stupid way which didn't allow them to reuse materials. Monster Hunter Rise takes like 15 seconds.. Notice how the Resident Evil Remakes and 7, and 8, don't even have them.. because they asynchronously compile during gameplay. Same with Spider-Man Remastered and Miles Morales.. as well as Horizon Zero Dawn and Days Gone. Death Stranding pre-compiles and takes maybe a minute or two.. Gears 5 does a little initial compilation which doesn't take long at all... RDR2 as well.

Old ass CPUs could take 10+ minutes sure... and so fucking what? Did you have to wait to download the game? Yes. Do people with faster internet download games faster and wait less time? Yes. Get a modern CPU with modern core/thread counts. And like I said... games COULD augment and speed up that process, by connecting to a server which lends CPU processing power to your PC and helps compile shaders quicker. Faster CPUs in the future will also naturally compile faster.

-API improvements can/will reduce the amount of unnecessary shaders
-Smarter development practices can/will reduce the amount of unnecessary shaders
-Augmented Shader Precompilation process to speed up compilation when connected to a server

There's also, again, things like Valve's Fossilize.. which they use on Steam Deck and Linux.. which collects GPU agnostic PSO blobs and allows them to be downloaded and precompiled from Steam BEFORE THE GAME IS EVEN DOWNLOADED. It literally downloads the shaders first, and then compiles them while the game itself is downloading.

THAT is honestly the perfect solution... because if these shader pre-compilation processes were done as part of the Steam download process... nobody would say shit... It would be like your download taking 5 minutes longer... or the game having to "decrypt" after pre-loading... The reason why people get so pissy about waiting 5 minutes is because once they have the game open.. they expect to be able to do things instantly. So it's not even about having to wait 5 minutes.. it's just the IDEA of having to wait for something when you open the game.. fucking babies.

Pre-compilation IS the fix... alt-tab out to your browser and view a couple sites, and then it's done.. 🤷‍♂️

All said. Also, forgot to mention the figures I provided for Star Wars are for my 5 year old CPU. A more modern CPU will probably take even less.
I think back4blood also pre-compiles when loading, but I haven't played in a while so I'd have to fire it up to check.
 

ethomaz

Rebolation!
21 Jun 2022
8,579
7,271
Brasil 🇧🇷
PSN ID
ethomaz
Star Wars Battlefront 2 pre-compiles shaders in < 1 minute.
CoD WW2 pre-compiles shaders as well

It doesn't take 20 or 30 minutes, it's done partially during install and also during load.
Because they either use simple shader or a small number of shaders lol
Simple shaders are very light to CPU while complex shaders are not… and there are games with 2-8k shaders and others with 200k.

So there are games that compile shaders in few minutes, others will take over a hour…
 
Last edited: