Above: A single Second Life fashion item with nearly 50,000 triangles (Courtesy Penny Patton)
Longtime SLer and professional game artist Penny Patton recently bought a Second Life shirt and then saw something that shocked her. That one mesh item (see above) had nearly 50,000 triangles.
As a point of comparison, characters in AAA console games with high end graphics rarely have this many triangle. The ultrarealistic lead character in God of War, for instance, has on the PlayStation 4 version only has 32,000 total triangles. For the entire character and their clothing items, while looking even more detailed than that one Second Life shirt. (Click Kratos at right to see.)
But when Penny contacted the creator of this shirt in Second Life, she got an interesting response:
"They informed me that they could not reduce this because it results in a 'decrease in quality'.
"The [shirt has] 11 faces. Each face has three maps. Diffuse, Specular, and Normal. It's even worse because the specular actually only uses one map, a black 1024×1024 texture that was uploaded 11 times instead of reusing the one.
"It's absurd. It's also, sadly, common in SL these days.
"This is why SL needs hard caps on avatar resource use."
It's not only common, it's an ongoing problem, and hasn't really been sufficiently addressed. As a former Linden Lab staffer told me about poorly optimized mesh, "These items are effectively DDOS attacks on everyone around them."
Five years ago, we pointed out that most of the top-selling mesh bodies in SL are poorly optimized, and have even more triangles — 200,000 or more. (Penny has also been writing about the issue on her own blog for years,)
Fortunately there are ways Linden Lab can address the issue head-on.
"I really want to stress there is not one thing Linden Lab should do to fix a problem like this," Penny tells me. "There's no 'silver bullet' solution that will fix the problem and make everyone happy."
That said, here's the solutions she recommends:
There's really no reason for a plain T-shirt in #SecondLife to use more than 3 textures. The diffuse, the normal, and the specular maps. The same goes for a pair of jeans or pair of simple shoes. What's more, you can typically make the specular map half the size of the diffuse.
— Penny Patton (@PennyPatton) March 23, 2023
https://platform.twitter.com/widgets.js
Content Creation Blog Which Also Corrects Misinformation
First is education, which a lot of people dismiss because education by itself won't do much.
But you need to put the information out there so people can understand the other steps you take. I've always felt Linden Lab should create an official blog of sorts that focused on content creation. Showing good examples, creating bad examples and explaining why not to to do that, holding contests to encourage the community to get involved, that sort of thing.
Importantly this would serve as an official source those who understand the importance of optimization could point people towards when we see misinformation being spread.
Plenty of content creators in SL, either out of ignorance or laziness, will try to tell you their high-poly, VRAM bloated content doesn't impact performance and right now there is no official Linden source to contradict that. It's also important that having LL coming forward about content and performance would help spark a broader community discussion about the issue.
Better Tools and Optimization Warnings in the UI
Residents need better tools, both to manage their own resource use, but also tools to better understand where the lag, FPS drops, and other performance issues they experience are coming from.
For example, if I attach an item with an excessive amount of textures or polygons, maybe there should be a warning about the performance impact? Perhaps if my avatar in total exceeds a certain amount of triangles/VRAM I could get a warning about that?
"Your avatar is using over 200,000 kb textures, this can result in lower FPS and longer rez times for yourself and those around you." and this warning could escalate the larger your performance impact is. If avatars around you are the problem, perhaps the viewer could recognize that and suggest you enable the "jelly dolls" feature, or lower the caps on it.
If the environment is the problem, perhaps the viewer could suggest capping texture resolution at 512×512. Give people the information they need to understand the problem, and the tools they need to deal with the problem.
System Limits on Poorly Optimized Content
Finally, and this is the one everyone hates to hear, but we need hard caps on resource use.
There is absolutely no reason any avatar should be walking around using 500,000 kb of VRAM, let alone 1,000,000. Ideally avatars wouldn't use more than 100,000 kb but I don't think Linden Lab should be that strict. I'd give avatars 200,000 or even 250,000 kb.
But what happens when you reach that cap? I don't necessarily believe you should be prevented from wearing any more beyond that. Instead SL could put a maximum texture cap on just your avatar. Reducing the maximum texture size of your avatar's textures until you fall below the cap.
For most people, this would be a 512×512 cap and they'd probably never notice. For more excessive avatars it would become more obvious as they hit 256 or 128 caps. For triangles we'd probably need a system more like Land Impact.
It's important to note that Linden Lab is currently working on rendering pipeline improvements that will give us some substantial framerate improvements. We're talking double the framerates you currently see.
But if you're typically seeing 10-15 FPS that still only means 20-30FPS with the new pipeline. And that FPS can still drop when you're moving around as opposed to standing still.
So, at this point, I still believe encouraging optimization is something Linden Lab needs to take seriously.
Hard agree. Linden Lab's own efforts to optimize Second Life with cloud rendering and so on are regularly undermined by poorly optimized user content.
Update from Penny on the Kratos comparison (3:40PM PT): "The shirt comes in two pieces because it has a 'regular' and 'pulled up' version. So the entire attachment together is 120,770 triangles. So that one shirt is about the equivalent to four Kratos."
Leave a comment