How do we fix this?
>>108957518By not playing shit games, it's really simple, just stick to anything before 2015.
>>108957538There were a lot of bad games made before 2015.
Have a three times larger download with precompiled shaders.
>>108957538I'd say up to 2019-2020. Although there were less good ones later on, they existed. Enough to make PS4 worth having. Jailbroken ofc.Actually owning jailbroken x360 and ps4 is kinda cool. You'd have the entire golden age of gaming in those two boxes.
>>108957600it's DX12/Vulkan specifically that force shader compilation.It allows for very good optimizations, compared to DX11 pre compiled shaders, but you have to compile shaders at least once
>>108957518you don't, the alternative is a stutterfest
>>108957538good stuff still comes out but now you have to dig through literal mountains of trash to find them, I wish Steam stayed with their old greenlight model.
>>108957642>I wish Steam stayed with their old greenlight modeIt was probably exploited and broken, there's a reason they changed things. They usually don't touch what works.
>>108957518by having standardized hardware like a Steam Cube
>>108957518By serving precompiled shaders for every GPU, I guess.
>>108957628>but you have to compile shaders at least onceThat's what I don't get. Why is it that it has to compile them every time you launch a game? You'd think they'd design their API's to fetch every shader that you'd be using in a game, compile them once, and then store them in a cache to fetch from? As well as automatically running a shader compile in the background after you install the game, get it done before you jump into it. Then people wouldn't complain about shader compilations, one and done affair.
>>108957592This is completely false.
>>108957518we cantand it's actually a good thing
>>108957751that's a windows/gpu driver issueon linux, shaders are compiled once, then stored in a cache directory so you don't have to recompile each times
>>108957872Nvidia drivers have a shader cache as well as a shader pre-compiler on Windows, so idk I don't play modern games
Don’t buy poverty tier CPU’s
>>108957909Why?
>>108957518Don't play slop made on UE4 and 5
>>108957872>>108957751DXVK/Vulkan has a feature that saves the shaders to a different file and if you update your driver's or delete the game or whatever it will rebuild the state cache from it at startup rather than at draw time.As far as I know DirectX doesn't have this feature out of the box (on PC at least) the developer has to code it in or submit their game to the Advanced Shader Delivery program so Microsoft does it for you.
>>108957909>almost 3 minutes to start the game on a $600 CPULMAO
>>108957958But only the first time.
>>108957909nuGSC slop isn't canon :)
>>108957518include the compiled shares in the game install
>>108957757There were, and there will be.
>>108957518use source engine all the shaders have to be pre compiled
>>108957751>Why is it that it has to compile them every time you launch a game?You don't. You only have to recompile if the shaders were modified or you installed new drivers or hardware.
>>108957518I feel like I’m the only one that doesn’t even know why we need shaders, let alone why we need to wait to compile them.
>>108957518AAA games are unoptimized trash.
>>108958270obviously they'd only ship compiled shaders if they could.the reason this is a thing at all is because gpus aren't a fixed set of backward-compatible and cross-vendor instructions like cpus are. even with cpus if you want to put your game on a different kind of cpu, you need to compile the cpu code for the other kind of cpu.because gpus and drivers are compatible with each other, shaders (code that runs on the gpus) need to be compiled for your specific gpu and driver.
>>108958313AAA games are amazing. I play them all. >Ohh NOOO I TO WAIT FOR MUH SHADERS ONE TIME AND NEVER AGAIN AHHHHHHHHHHHHHHHB
>>108958325>because gpus and drivers are compatible with each otheraren't*
>>108958325thats retarded just use backwards and forwards compatible shaders and add them precompiled in every game. by that logic we'd just ship the source code of games and have people compile them on their own computers absolute retardation.how big are these shader files? games routinely ship duplicate asset files of levels and uncompressed video files of cutscenes to increase the install size to many hundreds of gigs is including a couple different variants of precompiled shaders that much of an effort?
>>108957592name one
>>108958326Learn reading comprehension.Games can be good and some of them are, but they're still unoptimized trash compared to before when they used to optimize the most they could.
>>108957628>it's DX12/Vulkan specifically that force shader compilation.no they do not
>>108958395this thread is literally complaining about a heavy optimization technique that games do
>>108958388graphics cards just never had the same issue as cpus with regards to being the same as each other. gpus were around for years before programmable shaders even became a thing they could do, and by the time they became a thing gpus were already very different to each other, and also for a long time shaders were simple and small and you didn't have to wait any noticeable amount of time for them.while it's only in recent times with games using hundreds of fat-ass shaders for everything that can take minutes to pre-compile, shaders have been a thing for like 20 years now and people didn't complain then
>>108958420>actually shaders becoming so large that they take an annoying amount of time to compile and have to be pre-computed to reduce excessive stuttering means they're MORE optimisedoh is that what it means?
i swear to god the first unreal engine 3 game roboblitz or whatever had shader compilation during game install rather than gameplay
>>108958302multiplying matrices (the thing that lets you see your bing bing wahoos in 3D) is much faster using a parallel processor like a gpuit's very slow on cpus. so games use these gpu programs that we call shaders
imagine playing sonic the hedgehog or someshit and the level stutters every 5 seconds because it has to load a new fish or a fucking ring
>>108958302the name is a bit confusing since they were named back when all they could do was do something to chance the colour/shade of a pixel, hence pixel shader. over time they could do more stuff, vertex shaders, compute shaders... all just called collectively "shaders".what they are are programs that run on your gpu itself. since gpu architectures are constantly changing, a shader needs to be compiled for your specific gpu series, since the exact method of doing what the shader code wants to do varies between gpus and gpu drivers
>>108957592Yeah, but also good games, whereas after it there's like a good game every two years and it's usually not as good as what came before
>>108957593Yeah internet and storage are cheap
>>108958326>AAA games are amazing>bad gameplay>bad writing>bad music>bad aestheticsThe average AAA game has absolutely nothing to offer. If you could only playing AAA games you'd be better off dismissing vidya entirely and just playing Chess.
>>108958496Everyone has a CPU. Software rendering ftw.
Why doesn’t the PS5 need to compile shaders for games but PC players need to do it for the same games?
>>108958563Perhaps all PS5 units have the same GPU, so you can pre-compile the shaders.
>>108958563because the ps5 has a fixed gpu. ps5 games can ship compiled shaders for the ps5 gpu and that'll do it.
>>108958393Bad RatsHalf Life 2 Episode OneDestinyForza Motorsport 3Your Favorite Game
>>108958457they take a long time to compile because there are tens of thousands of them.they're instantiated per-material to remove branches from the pipeline, drastically raising performance>to reduce excessive stuttering means they're MORE optimisedobviously. do you think before you type? or are you so lost in performative outrage you've shut your brain off at this point?
>>108958623>Your Favorite Game
>>108958597>>108958618Can you explain why that matters? Shaders don’t care about how many cores you have
>>108958926Because it's already complied on disc, and blue ray is large.On PC you download comparatively smaller file, an then compile.
>>108958926it matters because shaders need to be built a per-gpu-microarchitecture basis. since each ps5 has the same gpu in it, they will all produce the same compiled shader binary, so you just ship that
As far as I know on OpenGL compiling shaders on the fly was always the norm and it never was a problem like this
>>108959268games for a long time just compiled shaders on first use. this worked fine when shaders were small and few.nowadays shaders are big and many, this by itself isn't bad... it's good that more work is being put on the gpu where available.it's also worth noting that it's not the fault of shaders that they can't be prebuilt. we have that luxury with cpu code only because through a series of unintended consequences.cpu and gpu programming came along decades apart from each other and under very different cultures and circumstances. we've just settled on the idea that compiling gpu code on-demand is acceptable (since for most of its' life this was quick anyway), which allows gpus to not worry about backward compatibility with old shader binaries. this is a good thing, backward compatibility is as much a curse as it is a blessing. consumers will only recognise the blessing part but they don't make the products so they can't always get their way.shader precompilation is itself an answer to shader compilation causing stutters, perhaps in the near future there'll be another solution. one option could be a "crowd" option, that is, some system where someone with a particular setup compiles them, and their shader binaries are distributed over the internet to others with the same setup. i've seen this kind of with modern console emulators, like i tried a nintendo switch emulator a few years ago and saw you could download packs of pre-discovered shaders which greatly reduces shader cross-compilation stutters, same thing could be done through steam or whatever.
>>108957518wait for Vulkan to accumulate enough extensions to the point where you can go back to writing your shaders like it's OpenGL. already half-way there.also seriously, games need to stop doing this shit. if your driver is this fucking slow that you can't on-demand compile shaders, it's shit. I literally do not have this problem with modern Mesa and DXVK / VKD3D
Part of the problem is the common way shaders are created in UE slop engines (others too like frostbite) now doesn't make proper use of branching via uniforms and instead they mash together strings to create shaders for each branch condition or sometimes even baking in float/int values. This leads to huge numbers of shaders being generated to fulfill all the possible branch conditions instead of relying on it at runtime. It's probably more performant in an average case but you get things like shader compilation stutter if the precompile doesn't catch all the shaders for some reason and you get huge numbers of shaders.
>evaluation at compile-time is good because optimization>precompiling shaders is bad though?
>>108958393nfs undercover