Repository navigation
Replies: 4 comments 1 reply
|
The setting should have been easier to find. Streaming is still a useful default on memory-constrained hardware, while your result shows that preloading can be much better on systems where first-use atlas uploads cause visible pauses. #152 adds Settings > Display > Post FX > Preload Light Grids. Its localized help says that it smooths area changes at the cost of longer loads and more video memory, and that the change applies on the next map load. The extra row is covered by the Settings registry and localization tests, and its expanded full/compact scroll ranges keep the display-sizing controls below it reachable. I also rendered the Post FX pane through the engine screenshot path and exercised map startup on OpenGL and Vulkan. I’ll close the discussion when the PR lands. |
|
The discoverable preload option has now merged in #152. I’m closing this as implemented. It will be available in the next build from current main under Settings > Display > Post FX > Preload Light Grids. |
|
Thanks for taking this under review and implementing it, but you should enable this by default since modern systems incur only a negligible performance impact when loading the map, but the stutters when not using preload are VERY disruptive to gameplay. The whole point of this project is playing this game on modern systems that are more than capable of running the game. |
|
Following up on this properly � you were right to push back, and the situation has changed since you wrote that. When you reported the spikes, streaming really was expensive, and not for the reason I assumed. The light-grid packs ship deflated inside That was fixed on 18 September (97fb3ea). The pack is now read once, sequentially, into memory, and every atlas comes from that copy. Measured by teleporting through every area of a map, three interleaved runs per side:
On OpenGL the read now happens while the map is loading, so the first area to come into view does not pay for it at all. So the honest answer to "why not default it on" is that the gap it was closing has mostly closed by itself. Preloading is now ~84 ms instead of ~3.9 s, and streaming's worst frame is ~23 ms instead of ~491 ms. Defaulting to preload would still spend memory that constrained machines need, to buy a difference that is now near the noise floor on a system like yours. I would rather have your measurement than my reasoning, though. If you get a build from current |
Uh oh!
There was an error while loading. Please reload this page.
This took a lot of searching to find, but r_lightGridPreload defaulting to zero was causing massive frametime spikes on my system that far exceeds the recommended specs. Enabling the preload caused a negligible increase to the up-front loading time and made the game enjoyable to play. This setting is covered in the documentation, but it took me a while to find and I almost gave up. Consider enabling the preload by default to avoid this potential stutters, or at the least expose this setting in the menu so users can find it more easily when troubleshooting performance issues. Thanks!
All reactions