Texture Memory Reduction

From TDN

TSE can reduce the amount of texture memory being used by decreasing the size of the textures being uploaded to the video card.


Contents

Quality Modes

Three different modes can be used to regulate texture size. They are set with: $pref::TextureManager::qualityMode.
Each mode is indicated by an integer value: auto is 0, low is 1, and high is 2.

Auto

Auto mode will detect the amount of memory that a video card has and set the quality mode to low if it is below the threshold value specified with: $pref::TextureManager::scaleThreshold.

Low

Low quality mode will force the texture size down on certain textures. More info on this below

High

High quality mode will force TSE to use the full size textures regardless of how much memory may be available.


What happens with low quality settings?

When low quality mode is activated, every time a texture is about to be created, it will first check to see if it can be reduced in size. This is determined by the TextureProfile. If the "PreserveSize" flag is set on the TextureProfile, the texture cannot be scaled down, this is necessary for things such as font textures.

If the texture can be scaled down, it will be scaled by the 'reductionLevel' that is set with: $pref::TextureManager::reductionLevel. For each reduction level, starting with 1, the texture will be halved in both width and height, essentially decreasing its size by 1/4. So if it's set to 1, the texture will be decreased to 1/4, 2 will decrease it to 1/16, and 3 will go to 1/64 and most likely will not work due to mip limitations.