# Texture Optimization

Reducing the memory required to display images will improve the performance and compatibility of wallpapers. Some systems may have a limited amount of VRAM (graphics card memory). If a wallpaper exceeds the graphics card memory, it can make the whole desktop unusable and sluggish on some systems. As a general guideline, we recommend using around 300 MB VRAM or less for great performance. Using less than 500 MB is also still acceptable but you should try and not exceed this limit for optimal performance.

# Checking Texture Memory Usage

You can check the currently required texture memory in the editor by clicking on View in the top menu row and then enabling the Show Stats option. The stats will then be displayed in the scene window in the Active texture memory row.

Scene Stats

# Optimize Texture Format

Graphics cards do not support rendering of common image formats like JPEG and PNG, so Wallpaper Engine has to convert them into a compatible format first. In video memory these images are decompressed which means they require significantly more memory than the original file size.

By default, when importing a new image into an existing wallpaper, Wallpaper Engine will suggest to use no compression ("RGBA8888"). However, different compression methods called DXT5 ("Good Performance") and DXT1 ("High Performance") can be displayed by graphics cards and will occupy only a quarter of memory compared to an uncompressed image.

The first background image is always imported without compression to provide the highest quality and simplify the process, but you can always re-import it later and then choose a different compression if you like.

TIP

No one likes low-quality wallpapers but the compressions in Wallpaper Engine are hardly noticeable for many use-cases. We suggest you simply give the compression methods a try - it's not as bad as it sounds and especially on more complex wallpapers, it can significantly boost the performance!

You can choose the compression method when importing a new image:

Import Texture Compression

# Further Optimize DXT5 and DXT1 Textures

Compressed DXT5 and DXT1 textures need to have a resolution of a power of two (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192 etc.) to be displayed by your computer. Wallpaper Engine will quietly take care of this in the background and add invisible pixels to fill in the missing pixels. However, the amount of memory required increases (though it will always be better than using an uncompressed image).

In the following example a normal 1920 x 1080 image was imported as DXT5. It has to be padded to a resolution of 2048 x 2048, because that's the next power of two for 1920 and 1080. As you can see, there are a ton of black pixels in the example, half of the memory used is practically wasted.

Texture Padding

You should consider reducing the height of the image to 1024, then Wallpaper Engine can create a 2048 x 1024 texture instead, that's only half the memory that was needed before.

Of course this means that your actual image has a smaller resolution as well, so you need to decide if and how this trade-off works for you. You can scale the layer in Wallpaper Engine to correct for this reduction in size by 1.055 (which is 1080 / 1024):

Texture Padding

TIP

If you optimized the background image like this, check your project resolution in the editor by clicking on Edit in the menu bar at the top and then Project Settings. You can verify and change project resolution there, if it is misconfigured, your image might be cut off unintentionally.