Shader Precompilation for Better DX12 Performance
Hi team,
First of all, thank you for your hard work on Path of Exile 2—it’s an impressive game, and I’m excited about its potential! I wanted to share an idea that could help improve the gameplay experience, especially since the game uses DirectX 12. Currently, there’s no shader precompilation at the start of the game, which can result in stuttering and performance dips as shaders are compiled dynamically during gameplay. This issue becomes particularly noticeable in endgame content. While playing with many friends, I’ve noticed that upon entering maps, there’s often a delay or stutter as shaders are recompiled, even for maps and mechanics we’ve played many times before. This suggests that the default shader cache might not be large enough to store everything effectively. Proposal: Introduce an optional shader precompilation process during the initial game load. Here’s how it could work: Use a developer character to simulate gameplay, running through maps quickly, killing mobs, and triggering league mechanics such as breaches, rituals, and others. Include a variety of skill effects, explosions, and other graphical scenarios to cover a wide range of possible in-game events. The compiled shaders could then be stored, reducing the need for on-the-fly computation during gameplay. While this process runs, players could see a loading screen indicating progress. Benefits: Smoother Gameplay: Precompiling shaders would significantly reduce in-game stuttering and provide a much smoother experience during intense combat and exploration. Optional Setting: Players could enable or disable this feature. Typically, precompilation would only need to be performed once unless: The GPU or CPU is changed. A game patch modifies visual or particle effects. Improved Cache Efficiency: Increasing the default shader cache size would ensure frequently used shaders are not overwritten, preventing repetitive recompilation even when replaying the same content. Why This Matters: Many modern games that use DirectX 12 or Vulkan have implemented shader precompilation, resulting in better performance and player satisfaction. By minimizing real-time shader compilation, these games avoid mid-game stutters and provide a more seamless experience. I hope this suggestion is helpful and aligns with your goals to make Path of Exile 2 as polished and enjoyable as possible. Thank you for considering this feedback, and I appreciate all the effort you’ve put into creating such a fantastic game! Last bumped on Jan 19, 2025, 7:13:22 AM
|
|
Stalker 2 - two hours first pre-compilation PTSD 🤣😆 even on modern machine it can took an hour.
But yeah, it's a necessary step to ensure less stutter and faster loading in game play, I'd take that long pre-compile over stutter and long loading. The current shader compile probably also bugged in some way, why does it have to re-compile the same thing after every game restart, despite there are shader cache stored? |
|
The default shader cache is to strict ( to low for this game) increasing it to 10-100gb if you have the free space on ur windows drive solves this issue. Yes waiting for pre-completion has its downsides but it's far to op to not consider it as a viable solution. Also Unreal Engine is way more taxing then GGG s custom engine, i don t think the loading time would be the likes of Stalker 2. Also having it as an optional thing when we chose to/ when we please and leave the PC do it s thing for a while is good option.
Last edited by NictorianRagnar#1017 on Jan 19, 2025, 6:16:37 AM
|
|
you will have to compile them every time the client is launched, most shaders need to compile each instance from what i know. with takes about 20-30min (8gb) - had a forum member test this on steam client. just open your shader cashe in drivers, first time something happens it snags slighly but after that is instant
|
|