Video memory¶
Your graphics card has its own memory, called VRAM (video memory). Every texture, every mesh, every shadow and reflection the viewer draws has to fit in it. When it runs out, most viewers stutter, turn textures blurry for good, or crash.
Slipstream works differently. It keeps track of how much video memory it is using, and when it gets close to the limit it steps detail down a little at a time, then brings it back when memory frees up. Your settings are not changed while it does this.
All the controls on this page are in Me → Preferences → Graphics → Advanced Settings…, in the Hardware section, unless the section says otherwise.
Maximum video memory¶
Maximum video memory is the most video memory Slipstream will plan to use.
| Option | What it does |
|---|---|
| Auto (default) | Uses what your computer gives the viewer. This goes down by itself when other programs are using the graphics card too. |
| 2 GB to 32 GB | A fixed limit. Pick one lower than your card to leave room for something else, such as a second viewer, a game or a web browser with videos. |
Slipstream keeps about 10% of this as a safety reserve, so the amount it actually works with (the "budget") is a little lower than the number you pick. A change takes effect straight away.
Running two viewers?
If you run two copies of Slipstream (or Slipstream and another viewer) at the same time, set Maximum video memory in each so that together they fit your card. For example, on an 8 GB card give each one 3 GB or 4 GB.
The readout¶
Under Maximum video memory there is a small live readout. It updates every second:
- In use … of a … budget: how much video memory Slipstream is using now, and its budget. "(capped)" means you picked a fixed limit instead of Auto.
- Textures, geometry, screen, RT, reflections, other: where that memory is going. "Geometry" is the shapes of objects and avatars, "screen" is the image being drawn, and "RT" is ray tracing.
- Nothing reduced for memory. means everything is at full detail.
- Reduced for memory: … lists the details Slipstream is holding back right now, to stay inside the budget. Reduced (memory nearly full): … means it is close to the limit and stepping down faster.
- Applied up to what fits: … appears when you chose a setting that needs more memory than is free (for example a very high reflection resolution). Slipstream uses as much of it as fits.
Hover over the readout to see a more detailed breakdown, which is useful in bug reports.
What happens when memory runs short¶
When video memory gets close to the budget, Slipstream steps detail down one small step at a time, starting with what you are least likely to notice:
- Textures you can't see (off screen, or loaded sharper than needed).
- Reflection detail (reflection probe resolution, then how many probes are used).
- Textures on far-away things.
- Mesh detail (objects switch to their simpler versions a little sooner).
- Shadows in the distance, then draw distance.
- Ray tracing extras (ray-traced shadow resolution and range, ray-traced reflections).
- Mirrors.
- Textures close to you.
- Spotlight (projector) shadows, then sun shadows.
- Finally, the resolution the world is drawn at.
As memory frees up (you leave a busy place, or close another program) the steps come back, the most recent one first. Each step waits a little before coming back, so detail does not flicker up and down.
These steps are temporary. Your settings in Preferences stay exactly as you set them, and no message pops up for them: the readout shows what is currently held back.
Emergencies only
Only if every step above has been used and the graphics card still runs out of memory does Slipstream change a setting, to keep the viewer from crashing. It does this one setting at a time, in this order, and shows a message each time saying what it changed and where to change it back:
- Ray-traced shadows switch to shadow maps, and ray-traced reflections to Realtime.
- Reflection probe resolution (or the number of probes) is halved.
- Shadow quality is lowered.
Going over the number you picked in Maximum video memory never causes this; it only happens when the card itself is out of memory.
If you see a lot of "Reduced for memory" in busy places, the best fixes are, in order: turn on texture compression, lower the reflection probe resolution, and close other programs that use the graphics card.
Texture compression¶
Textures are most of what fills video memory. Texture compression shrinks them on your graphics card as they load, so many more textures stay sharp at the same time.
| Option | What it does |
|---|---|
| Off | Textures are stored uncompressed. Uses the most memory. |
| High quality | About 4× less memory, with no visible difference. |
| Balanced | The same size as High quality, but quicker to compress. |
| Max savings | About 8× less memory for most textures. Smooth gradients can show slight banding. |
| Adaptive | Picks per texture: the smallest format where it looks the same, and High quality for skin, text, gradients and fine detail. Far-away textures use the smaller formats. |
A change applies straight away, no restart needed: textures already loaded are re-compressed over the next few seconds.
The first time you run Slipstream (and when you change graphics card), it picks a level for you: High quality on cards with 16 GB or less and on built-in (integrated) graphics, Off on bigger cards. A message tells you which it chose. After that it never changes it by itself.
You can also change it in Photo Studio (Me → Photo Studio…), in the Scene section under Performance.
Advanced
Debug setting: RenderVKTextureCompression (0 Off, 1 High quality, 2 Balanced, 3 Max savings,
4 Adaptive).
Texture memory¶
Texture memory decides whether Slipstream also keeps a copy of loaded textures in your computer's main memory (RAM), not only on the graphics card.
| Option | What it does |
|---|---|
| Auto (default) | Keeps copies in RAM while your computer has plenty free, so textures come back instantly if they are needed again. When RAM gets tight the copies are dropped. |
| Prefer disk (lowest RAM) | Drops the RAM copy as soon as the texture is on the graphics card, and reloads it from the GPU-ready texture cache on disk when needed. Uses the least RAM. |
Choose Prefer disk (lowest RAM) if your computer has 8 or 16 GB of RAM, or you run other heavy programs alongside Slipstream. Slipstream never changes this setting by itself.
Prefer disk (lowest RAM) works best with texture compression and the GPU-ready texture cache turned on (both are on by default on most cards). Without them, textures that are needed again have to be decoded again, which takes a little longer.
Advanced
Debug setting: SlipstreamTextureMemoryMode (0 Auto, 1 Prefer disk).
GPU-ready texture cache¶
Second Life sends textures in a format that takes time to unpack. Slipstream can keep the finished, ready-to-use (compressed) textures on your disk, so textures you have seen before load straight from there, without unpacking or compressing them again. Places you visit often load faster.
This is in Me → Preferences → Advanced:
- GPU-ready texture cache (textures seen before load without decoding): on by default. It needs texture compression to be on.
- Texture cache size: how much disk space it may use, from 256 MB to 65536 MB (64 GB). The default is 3072 MB (3 GB). When it is full, the textures you haven't seen for longest are deleted (they load from the regular cache again next time). Changes apply straight away.
- Next to it you can see how much is used and how many files there are. Texture copies in RAM shows how much main memory the copies described under Texture memory are using.
The cache lives in a folder called gputex inside your cache folder (see Cache location on the
same tab). Clear Cache empties it along with the rest of the cache.
Advanced
Debug settings: SlipstreamGpuTexCache (on/off) and SlipstreamGpuTexCacheSizeMB (size in MB).
Hover over the usage line to see the folder and how many textures were loaded from it this session.
Why Slipstream uses less video memory¶
Besides texture compression, a few other things keep memory use down without you doing anything:
- Small textures share memory instead of each taking a minimum-size block. In a busy club this alone saves about 0.9 GB.
- Images in the interface that aren't on screen are freed.
- Ray tracing stays within a budget sized to your card, and frees its memory when you turn it off.
Related¶
- Graphics & performance: every other graphics setting.
- Troubleshooting: blurry textures, stutters and crashes.