Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Why is clothing always so slow?

Eata Kitty
Registered User
Join date: 21 Jan 2005
Posts: 387
04-10-2006 03:50
I have a 2MB connection and a decent computer so I can run SL with the Network setting of 1000. I can fly around with only a few objects popping up with grey textures which usually load in five seconds, focusing on them gives the high detail texture in a similar amount of time.

Clothing however seems totally random. It alternates between fast to seemingly never loading fully. Skins and clothes are large textures but when you change an outfit will your own display very quickly when you edit your appearance. Even weirder is that it may still pop back to a blurry unloaded version as soon as you exit apperance.
Fenrir Reitveld
Crazy? Don't mind if I do
Join date: 20 Apr 2005
Posts: 459
04-10-2006 09:26
This is how I understand clothing to work.

Clothing is composed of various texture layers which are software-blended together into one texture (well, two, for upper/lower) which are then applied to your avatar. This blending happens on the client side. So, your clothes layers are sent to the client, it gets blended, then this composite is sent back to the sim. Where it then has to be downloaded and displayed on your avatar.

A neat solution to multi-texturing, in that LL doesn't have to exclude people whose graphic cards can't do eight texture operations in a single pass... Only problem is that clothing rezzing is dependant upon not just the asset server, but clients and their connections to it. If a client is highly loaded, it might take a while for the composite to be uploaded. And on top of that, if the asset server/sim is highly loaded, you might see those well known blurry clothes for a while, too.

As for why Appearance mode seems to cause your clothes to snap back? My guess is that LL short-circuits the blending code when you're in Appearance mode. They instead render the local client's composite texture, instead of what the sim* might have sent to you so far.

*I'm not clear what manages the clothes composites, server side. Is it a function of the sim itself? Or part of the asset cluster?
Eata Kitty
Registered User
Join date: 21 Jan 2005
Posts: 387
04-18-2006 10:44
I heard they let the client reupload it to the server but it sounded a touch too insane to be true. It would explain the slow loading but... why?

Composite makes sense because otherwise you'd be sending up to twelve high resolution textures instead of one but I don't see how doing it clientside justifies the saved CPU overhead. You can only get 40 (50?) users in a sim and they don't usually change clothing too often, it introduces the possibility of exploits and I've seen it result in corruption a few times.
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
04-18-2006 20:05
What kind of stupidity is it when a texture is REuploaded after already DOWNloaded? I wonder if it's uploaded as TGA or JPEG2000. Wouldn't surprise me in the least if it was uncompressed TGA since SL is so bandwidth-wasteful as it is what with mindless cache redownloads each session/update, full-client update downloads, etc. Efficiency, LL, learn it please.
Fenrir Reitveld
Crazy? Don't mind if I do
Join date: 20 Apr 2005
Posts: 459
04-18-2006 23:33
From: Eata Kitty
I heard they let the client reupload it to the server but it sounded a touch too insane to be true. It would explain the slow loading but... why?

Composite makes sense because otherwise you'd be sending up to twelve high resolution textures instead of one but I don't see how doing it clientside justifies the saved CPU overhead. You can only get 40 (50?) users in a sim and they don't usually change clothing too often, it introduces the possibility of exploits and I've seen it result in corruption a few times.

Yeah, it does explain why people's clothes loads at different levels of speed due to their pipe speeds. Or, as you said, gets corrupted or remains perpetually blurry. (Guess the server gives up after while, reverse of what happens when items remain blurry perpetually on the client side.)

However the asset cluster works, appearently it's image agnostic; It just deals with blocks of data, and doesn't actually work on the image at all. Plus, it pushes load to the client. :)

From: Eep Quirk
What kind of stupidity is it when a texture is REuploaded after already DOWNloaded?

As Eata said, it means the clients don't have to load 12 high-res clothing textures for every avatar they see. They just get one single composite bitmap. Which are compressed as JPEG2K as the rest of SL's images are.

It also avoids having to render 12 layers of clothing at once.
Eep Quirk
Absolutely Relative
Join date: 15 Dec 2004
Posts: 1,211
04-18-2006 23:54
From: Fenrir Reitveld
As Eata said, it means the clients don't have to load 12 high-res clothing textures for every avatar they see. They just get one single composite bitmap. Which are compressed as JPEG2K as the rest of SL's images are.

It also avoids having to render 12 layers of clothing at once.
I know WHY "baking" occurs but I don't agree with how it's done. There's no reason the client shouldn't IMMEDIATELY show the baked texture to the client WITHOUT having to upload and REdownload it from the asset server first. That's just inefficently stupid (stupifficient).
Fenrir Reitveld
Crazy? Don't mind if I do
Join date: 20 Apr 2005
Posts: 459
04-19-2006 00:06
From: Eep Quirk
I know WHY "baking" occurs but I don't agree with how it's done. There's no reason the client shouldn't IMMEDIATELY show the baked texture to the client WITHOUT having to upload and REdownload it from the asset server first. That's just inefficently stupid (stupifficient).

I'm sure because it generates a different key once registered on the asset server and there's no special case in the caching code for that one local texture.

Personally, I'd rather see my own clothing blurry and know that everybody else is seeing it the same than have my clothes show up perfect all the time and half-rezzed to everybody else. At least I can judge if I need to do something about it, such as switch clothes.
Candide LeMay
Registered User
Join date: 30 Dec 2004
Posts: 538
04-19-2006 01:31
Hmm I suppose this might explain the 'invisible avatars' problem that plagues some of us - the clothing of people doesn't load for some reason (as was seen recently after the 'map optimization' release, it results in invisible avatar). And changing the active group forces updates of all avatars ...
_____________________
"If Mel Gibson and other cyberspace writers are right, one day the entire internet will be like Second Life." -- geldonyetich
Eata Kitty
Registered User
Join date: 21 Jan 2005
Posts: 387
04-19-2006 04:50
From: Fenrir Reitveld
As Eata said, it means the clients don't have to load 12 high-res clothing textures for every avatar they see. They just get one single composite bitmap. Which are compressed as JPEG2K as the rest of SL's images are.

It also avoids having to render 12 layers of clothing at once.


I think he meant it more like why isn't the sim doing it? We don't really know how sims deal with clothing assets, especially now they changed how communication between everything has worked.