What does it mean to “process shaders in real-time”? Wouldn’t it be objectively faster to process them ahead-of-time? Even if it’s only slightly faster while running the game?
I mean processing takes like a minute or so, so it’s no big deal. I’m just curious for the fun of it, if I can compile it on the GPU. Not sure it’s even possible.
What does it mean to “process shaders in real-time”?
Processing them as they’re loaded, quickly enough that there’s no noticeable frame drop. Usual LLVM based shader compilers aren’t fast enough for that but ACO is specifically written to compile shaders for AMD GPUs and makes this feasible.
Pre-compilation would in theory always yield higher 1% lows yes, but it’s not really worth the time hit anymore especially for games that constantly require a new cache to be built or have really long compilation times.
I think the one additional thing Steam does in that step is transcoding videos so they can be played back with Proton’s codec set but using something like Proton-GE, Proton-cachyos or Proton-EM solves this too.
Disclaimer: I don’t know how the deeply technical stuff of this works so this might not be exact.
Well like I said it only takes like a minute with half of my 32 threads utilized at 100 % (so all of my cores I guess?). Might as well keep doing it I suppose.
What does it mean to “process shaders in real-time”? Wouldn’t it be objectively faster to process them ahead-of-time? Even if it’s only slightly faster while running the game?
I mean processing takes like a minute or so, so it’s no big deal. I’m just curious for the fun of it, if I can compile it on the GPU. Not sure it’s even possible.
Processing them as they’re loaded, quickly enough that there’s no noticeable frame drop. Usual LLVM based shader compilers aren’t fast enough for that but ACO is specifically written to compile shaders for AMD GPUs and makes this feasible.
Pre-compilation would in theory always yield higher 1% lows yes, but it’s not really worth the time hit anymore especially for games that constantly require a new cache to be built or have really long compilation times.
I think the one additional thing Steam does in that step is transcoding videos so they can be played back with Proton’s codec set but using something like Proton-GE, Proton-cachyos or Proton-EM solves this too.
Disclaimer: I don’t know how the deeply technical stuff of this works so this might not be exact.
Huh.
Well like I said it only takes like a minute with half of my 32 threads utilized at 100 % (so all of my cores I guess?). Might as well keep doing it I suppose.