Well, we are getting an upgrade to the Server-Side-Avatar-Baking service. That is fact. What the service does is old news. The blogosphere was covering it in 2012. By August 2013 it was considered a success. (Ref)
So, what is the service, aka SSA or SSB? Prior to 2012 the classic avatar skin, tattoos, underwear, shirt, and jacket were composited into a single texture in your viewer and used to render your avatar. This is like the process we use in Photoshop, GIMP, and other image editors when we bake a set of layers into a single JPG or PNG image.
A significant part of the viewer’s render process was the baking effort. Once I was dressed and my clothes baked into an image safely cached on my computer, I was good. BUT… whenever I saw a new avatar, my viewer had to collect all their textures; skin, tat, bra, and top and bake their clothes into a texture to put on the avatar and render it. Everyone was doing that.
With 6 possible zones (ie., hair, head, upper, lower, eyes, skirt) to bake and 3 of them having 5 layers we were downloading a bunch of textures just for the classic body. So, something like 15 or 20 textures per avatar. In a region with 40 avatars… that is like 40×20=800 textures… if they were 1024 textures that could be as much as 3+GB of texture, admittedly in extreme cases. Plus, our viewer had to composite them before the avatar could be rendered. Each viewer was doing this and the region was coordinating the downloads.
The solution implemented was a backend service running in a set of computers that worked with the viewer and region servers to optimize the process. When we changed clothes, the viewer would send the resulting layered set of textures to the bake-service. It would composite all the textures into a single 512×512 texture and create a new texture with a special UUID. Our viewer and everyone else’s viewer would use that single composite and NOT have to download and composite/bake all the individual textures.
The net gain in performance and reduced load on region servers is way significant.
Now 6 years later things have changed. Mesh bodies are the thing now. Our mesh attachments have no layering ability. So, designers worked around that limit by adding more surfaces, onion skinning the models. So, one model for skin layer, one for tats layer, one for underwear, and one for clothes thus imitating the classic avatar. So, we are back to everyone having to download a ton of textures to render the avatar.
Also, we have WAY more mesh to download. A classic avatar is about 7,000+ polygons. That was a conservative model made for the days when a download speed of 1-megabit per second was considered fast. Today a 10,000 to 20,000 polygon avatar model can look better, have more detail, and download in less time than it once did for the 7k classic avatar. But, 4 to 5 models of the avatar and a bunch of 1024 textures on those models… OMG! It is no wonder when rendering 14 avatars, my max number of non-impostor avatars, it drags my computer from 120 FPS down to 20.
The solution is Bakes-On-Mesh (BOM). In the face of the coming Animesh feature, Bakes-On-Mesh is desperately needed.
More… links below.