Comments (2)
I've done some investigation. The high memory usage is due to the sheer number of unique VkSampler objects in the fossilize DB. Replaying the DB produces over 9 million unique VkSamplers with over 8.3M unique values for minLod and 5.5M unique values for maxLod.
I added print statements to DXVK, and it looks like the game creates new samplers every time the camera moves, with minLod and maxLod calculated to full precision from what I assume is the camera position. This creates new, likely unique samplers for everywhere the player can be in the game.
I'm still exploring what to do about this.
from fossilize.
That is an annoying problem, ye ... The problem is that we don't really know if a VkSampler will be used as an immutable sampler down the line, but we only need to record those samplers. We'd probably need a heuristic to not samplers that are unlikely to be immutable (odd values of minLod, etc). We can also app-opt DXVK since it does not use immutable samplers at all.
from fossilize.
Related Issues (20)
- dynamic state3 + GPL brokenness
- wishlist feature: pipeline compile timing output HOT 1
- Shader compilation freezes the system
- Disable VK_AMD_shader_fragment_mask if descriptor buffers are used in replayer
- .xsessions-errors full of warnings
- Steam seems to never finish shader pre-compiling in the background for A Hat in Time HOT 8
- default log level in journalctl
- Compiling Vulkan shaders with less than 50% of free memory leads to OOM situation and system freeze HOT 4
- CPU instability when compiling shaders. HOT 15
- Build of -m32 fossilize terminating with errors
- Launching Steam immediately caused `fossilize_replay` to consume all available memory HOT 9
- fossilize_replay causing OOM (but only in Deep Rock Galatic) HOT 4
- [steam] fossilize_replay stops processes and fails to resume them HOT 4
- Use after free when compiling GPL pipelines HOT 2
- Setting fossilize environment for steam games HOT 2
- 100 GB shadercache folder
- Extremely long Vulkan Shaders processing just with Nvidia GPU HOT 2
- Fossilize_replay vulkan bug, arch proton
- `fossilize-disasm --target isa` crash
- Launching Steam freezes my system because of fossilize_replay taking whole memory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fossilize.