The Partially Hidden Cost Of Display Costs

I’ve mentioned the Good Building Practices section of the official Second Life Wiki before, I’ve also mentioned the extremely useful Texture Usage page in that section. The good building practices is an under promoted resource in my opinion, Linden Lab haven’t forgotten about it, I see that they have added a case study on how June Dion used normal and specular maps to add details to a Katana imported from Lightwave. However that’s not what I’m going to talk about today!

The Texture Usage page describes a situation many of us will recognise:

We have all been there, teleporting to a new location, everything grey, the need to stand there for 10 minutes waiting for everything to load. Even then many textures still remain blurry. Some people give up and teleport away, some people leave to make coffee. Land owners can lose traffic over it. Store owners can lose customers over it. So optimizing your textures to ensure that they load quickly, without losing any of the visual impact, is important.

The tip is to use as small a texture size as is reasonable, with advice to try and avoid using 1024 x 1024 textures if possible. Now some people will argue this point, because good usage of 1024 x 1024 textures can actually make an item efficient in terms of performance, however as a general rule, you should not use a 1024 x 1024 texture when a 256 x 256 will suffice, but it’s not a simple numbers game because the number of textures you use is also a factor.

I’ll do a small example, I created a prim and used a single 512 x 512 texture on it:

An Image Should Be Here
Single Texture

Now I’m going to click the more info link because that’s where I can find out some extra inforamtion about the display costs of my item:

An Image Should Be Here
Single Texture Stats

Now this has a display cost of 404, but what happens if instead of using a single texture, I use three different textures on my prim? Well in this case I’ll use two 512 x 512 textures and one 64 x 64 texture.

Now when you look at your prim you can tell multiple textures are applied because the word multiple appears in the texture window:

An Image Should Be Here
Multiple Textures

The display score increases when I click on More Info:

An Image Should Be Here
Display Cost Three Textures.

As you should be able to see, the display cost is now `1116, whereas when I used a single 512 x 512 texture, it was only 404. However I can increase that cost further by being reckless and using three different 1024 x 1024 textures on my prim, that will give me this:

An Image Should Be Here
Using 1024 x 1024 Textures

Now we can see the display cost is 1940, much larger than when I used smaller textures. However, what is a display cost anyway? Well if I click the What is all this? link, I see:

An Image Should Be Here
What Is All This?

One point of debate is that the display cost does not affect land impact, there’s an interesting discussion over at SLUniverse regarding the new materials project where some people feel texture usage should affect Land Impact. I would imagine there would be server overheads with that, texture usage can be very dynamic.

As I said earlier though, it’s not just the size of the textures, another tip from the wiki page is:

If you have one texture repeated many times around your parcel/region, it costs more resources to have that one texture broken down into various sizes for different sized surfaces. In this case it is better to just have one size of the texture throughout your land.

There isn’t a one size fits all scenarios solution here, but it would be nice if Linden Lab discussed these issues more. Whereas I can see increased display costs when I play around and where common sense dictates higher scores indicate less efficency, I have no idea where crossing a dangerous threshold lies, the display cost score is a handy benchmark, but far from the only important factor when it comes to texture usage.

One Reply to “The Partially Hidden Cost Of Display Costs”

Leave a Reply

Your email address will not be published. Required fields are marked *