Tired of game frame rates that are limited to the refresh rate (60 FPS or 30 FPS)? Well, there's a way around it. Texture Streaming is used by all modern-day consoles and allows games to exceed the refresh rate of your monitor.
How does this help you though? Because developers can now remove strict fps rules and allow a game to reach a constant 60fps/30fps while also exceeding it. On a 1080P monitor you usually get around 40-60 FPS due to the lack of GPU power on consoles, however once enabled your fps can be as high as 90FPS.
Texture Streaming can do this by streaming low-resolution textures first while loading in higher res stuff while you play.
The image above shows a comparison between a game with Texture Streaming enabled and one without. As you can see, the one on the right looks a hell of a lot better. This is all thanks to the streaming technology that resides within the game engine itself instead of an additional download (although some games opt for this too).
Texture Streaming is also able to improve load times by reducing draw distance which speeds up FPS rates. You don't have to wait as long for textures to pop in when traveling around either.
How To Enable Texture Streaming
Pretty much every single game supports texture streaming these days so there's no need to worry about your favorite game has it or not.
All you have to do is go into your console settings and turn it on. It's usually a setting labeled "Video Memory" or something similar.
For example, in Battlefield 4 you can enable texture streaming by going into the video settings and selecting the maximum amount of Video Memory you want BF4 to use (i.e 3GB dedicated), this will automatically enable Texture Streaming in Multi-GPU systems too!
So there we have it guys, that's a brief explanation of what texture streaming does and how it works to improve visuals in almost every single game out there.
Mipmap streaming systems
Mipmap streaming systems determine how quickly individual texture mipmaps should be loaded depending on the distance of the virtual camera from an apparent object. Only the mipmaps that are needed may be kept in memory, allowing for significant memory savings while still showing many objects in the distance. However, this method has the potential to cause a lot of disk thrashing when there is great variation in texture mipmap level usage.
For example, different textures may be needed for objects at different distances from the camera within a short time. When this is done dynamically with many virtual cameras, memory thrashing can occur, and hence these systems are not efficient enough for real-time rendering with current technology.
Direct3D 9 incorporates a feature known as Adaptive Scalable Texture Compression, which allows compressed textures to be sampled with full-resolution detail. This results in better image quality than is available using hardware multi-sampling.
A key difference is that ASTC works by selectively applying higher-resolution mipmaps to textures within the scene. This means that no disk swapping or video memory thrashing occurs.
However, hardware multi-sampling still offers superior image quality in static scenes due to its support for anisotropic filtering, which allows multiple samples at different angles to be taken.
Texture streaming is a process that can help reduce the amount of time it takes for textures and assets to load into video games, and in some cases can also improve overall rendering performance.
The texture streaming system determines how quickly individual texture mipmaps should be loaded depending on the distance of the virtual camera from an apparent object. Only the mipmaps that are needed may be kept in memory, allowing for significant memory savings while still showing many objects in the distance. However, this method has the potential to cause a lot of disk thrashing when there is great variation in texture mipmap level usage.
Texture streaming is a relatively new technology that is already widely used in games. Likely, the technology will only be adopted more over time into newer games, resulting in better performance and fewer load times.