[Performance Suggestion] Pre-Game Shader Cache Loading / PSO Optimization to Prevent GPU Hitches
Dear GGG,
My suggestion is specifically related to shader compilation, and the way it currently causes GPU hangs during level streaming. PoE 1 uses dynamic level streaming, and currently, shader programs are compiled as assets stream in. This approach results in heavy GPU stutters and hangs during gameplay, especially as initial area loads new assets. This can be tested by your QA team by, going to GPU control panel and disabling shader cache, and deleting shader cache (it is much faster to test than a full reinstall of the game). This issue is especially noticeable when: -Entering new areas with new tile sets or effects -Fighting new monsters with new effects (ie beyond mobs spawns, harvest mobs) -Using MTX or skills for the first time -Encountering new assets (ie first time doing any of the secrets of the atlas bosses) To mitigate this, PoE should implement preloading of shaders before gameplay begins, rather than relying on runtime shader compilation. This is commonly done through: -PSO (Pipeline State Object) Caching — Cache all known shader permutations and load them before entering gameplay. -Prewarming the Shader Cache during the Loading Screen — This means compiling shaders to the GPU cache before level streaming begins. -Optionally allow background pre-caching during login screen or idle time, especially for frequent zones like towns or hideouts. GGG can look into how other engines and games manage this: -Unreal Engine's PSO Caching system (look into PSO Precompile, Shader Prewarming, Cooked Shader Pipelines) -DX12/Vulkan Pipeline Cache APIs — These allow serialization and loading of pipelines between sessions. -NVIDIA/AMD Shader Cache documentation — GPU vendors provide ways to control and persist driver-level shader caches. Additionally GGG can provide a in-menu option: -Provide a “FULL LEVEL Preload Shaders” toggle in the graphics settings or during loading screens -Allow optional full shader pre-compilation at patch time or first launch (similar to how some AAA games like Warframe and Call of Duty handle it) Thanks. As an example the following video (not mine) of a first look at the boss fight (all links are the same video) https://youtu.be/ibuMC6Pc5iU * at 0:36, next to the stairs, there is 1 tables at 0:36, next to the stairs, there is 2 tables ![]() ![]() https://youtu.be/ibuMC6Pc5iU?t=36 * at 0:42, top of the screen there is 1 desk/podium asset at 0:43, top of the screen there is 2 desk/podium asset ![]() ![]() https://youtu.be/ibuMC6Pc5iU?t=42 A fact is a statement that can be supported to be true or false by data or evidence. In contrast, an opinion is a personal expression of a person’s feelings or thoughts that may or may not be based in data. Last edited by drklrd#6377 on Jun 24, 2025, 2:00:22 PM Last bumped on Jun 24, 2025, 2:36:41 PM
|
![]() |
Yeah... every zone I went into, the floor wasn't visible, the assets were missing, and they would slowly pop in one by one. It makes me wonder what the point is of the loading screen when nothing loads behind it.
|
![]() |