In this lesson, you will learn how to fine-tune the Texture Streaming Pool to eliminate texture "popping" and prevent memory thrashing in large-scale environments.
The Problem: Texture Thrashing
Unreal Engine uses a Texture Streaming Pool—a fixed memory buffer—to manage which mip-levels of your textures are loaded into VRAM. If your open-world environment demands more texture data than the pool can hold, the engine is forced to "thrash": it constantly swaps textures in and out of memory. This leads to visible low-resolution textures, noticeable "popping" as assets load in, and a significant performance hit on the I/O bus.
Monitoring and Adjusting the Pool
Before you change any settings, you must see if your pool is actually over-budget. Open your console (tilde key) and type:
stat streaming
This display shows your Pool Size (total allocated) versus Used (current demand). If your Used value is consistently near your Pool Size, you have two choices: reduce the footprint of your textures (via compression settings or resolution downscaling) or increase the pool size to accommodate the scene.
To increase the pool size, modify your DefaultEngine.ini file under the [/Script/Engine.RendererSettings] section:
[TextureStreaming]
PoolSizeVRAM=4000
Note: The value is in Megabytes (e.g., 4000 = 4GB).
When to Increase vs. Optimize
It is tempting to simply set PoolSizeVRAM to a massive value, but this is dangerous. If you set the pool larger than the available physical VRAM on your target hardware, you will cause the OS to swap memory to disk, leading to severe stuttering or crashes.
Pro Tip: If you notice textures popping even when stat streaming shows you are under budget, check your texture Streaming Distance Multiplier on the meshes themselves. Sometimes, the engine isn't "thrashing"—it's simply waiting for the distance trigger to tell it that a high-res mip-level is needed. Use the r.Streaming.PoolSize console command during runtime to test different values in real-time before committing to the INI file.
Key Takeaway: The Texture Streaming Pool is a balancing act; monitor your usage with stat streaming and only increase the budget if you have confirmed head-room in your target hardware's VRAM.