[sldev] SNOW-222 : request before committing the patch

Philippe (Merov) Bossut merov at lindenlab.com
Tue Sep 29 22:16:45 PDT 2009


Hi,

I worked some more on the "gray world on Mac" problem and the plot thickened
really as I drilled down the code. At that time, I do have a reproable case
of "gray world" on Mac and no less than 3 ways of fixing it, each
corresponding to a bona fide bug or, at least, oddity. So let's review them:

1- Missing skins/default/textures/ files: as explained earlier in this
thread, my initial problem was fixed by simply adding the new and missing
media_*.png textures to the skin (those are used by the new media browsing
UI). The thinking was that missing textures should not result in such
catastrophic failure but, heck... AimeeT though reported that this was not
her problem (she had the textures) and, anyway, those were missing also on
my Windows built and no such effect resulted. So, not the solution though
there's still one action item for me:
Action: make sure media_*.png textures are correctly exported in the artwork
bundle.

2- Inexisting IMG_DEFAULT asset: I went to explore what happens when a local
texture file is missing. It turns out that, in that case, an IMG_DEFAULT
file is loaded to replace the missing file. Las, that file is not in the
skins/default/texture folder either so it creates a fetch worker that tries
to download this. Since we load the UI textures at launch, that might be a
problem. Clearly, this is not a problem on Windows either though I tracked
the fetch worker for this asset and it turns out that it never ever
completes. On Mac though, this fetch worker sucks up the entire resource of
the fetch thread and prevents any other worker to do anything. If I modify
the UUID of IMG_DEFAULT to point to some existing file in the skins,
everything works fine (AimeeT hasn't confirmed yet if this works for her).
On Windows, even if such a dramatic effect is not observed, we have this
fetch worker in the queue for the whole session. Not dramatic but still,
wasteful. So, next action:
Action: points IMG_DEFAULT to an existing asset, preferably one that is part
of the skins folder. This is likely also a problem in the official viewer.

3- Badly initialized image priority: So there's still this mystery of why
the Mac fetching of this inexisting asset starves the queue. It turns out
that the priority for the first image fetched is an absurdly high number on
Mac while it's a more reasonable (expected) one on Windows. There are
several values that carry priorities around and it's quite messy. Clearly,
one is not initialized correctly somewhere and it happens to work on Windows
by chance and not on Mac. Adding a simple cap to decode_priority in
LLViewerImage::updateFetch() break the vicious circle and things go back to
normal (see patch in SNOW-222). Still, one more action item:
Action: fix the initialization of image priority levels.

I hope I'll get confirmation from AimeeT or other Mac devs that, indeed, we
got to the bottom of that one so that we'll be able to commit that feature
soon.

Cheers,
- Merov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20090929/a11dec2b/attachment.htm 


More information about the SLDev mailing list