Optimize parallax VRAM usage (#37180)
* Disable parallax texture preloading Many parallax layers are specific to a single map and will likely never be loaded for the duration of the game. Save VRAM by not loading them always. Requires engine master * Put generated parallax identifier in texture name Makes it show up properly in debugging tools * Don't load generated parallaxes multiple times Many parallax prototypes re-use the same generated parallax configs. These generated parallaxes were being loaded multiple times at once, which was a massive waste of VRAM. We now move these into a separate cache for deduplication. I had to write a lot of logic to handle loading cancellation and ref counting. Yay. Also fixes some spaghetti with the previous parallax loading system: cancellation didn't work properly, give proper names to generated texture names, etc. This saves like 100+ MB of VRAM.
This commit is contained in:
committed by
GitHub
parent
6f89c2c455
commit
1d5a06612a
@@ -34,6 +34,7 @@ namespace Content.Client.IoC
|
||||
var collection = IoCManager.Instance!;
|
||||
|
||||
collection.Register<IParallaxManager, ParallaxManager>();
|
||||
collection.Register<GeneratedParallaxCache>();
|
||||
collection.Register<IChatManager, ChatManager>();
|
||||
collection.Register<ISharedChatManager, ChatManager>();
|
||||
collection.Register<IClientPreferencesManager, ClientPreferencesManager>();
|
||||
|
||||
Reference in New Issue
Block a user