RL professional visual designer Penny Patton can make Second Life look as good as Fallout 4, even on an older computer, and writes great tutorials on improving SL graphics performance through better building. But that points out a key problem with overall SL performance: Many if not most Second Life content creators do not know how to optimize their 3D objects, and Linden Lab doesn't tell them. So often, unless they're lucky enough to read something like Penny's blog, their creations inadvertently hurt everyone's SL experience:
"SL's strength is that it allows enthusiasts to go wild with creativity, but in realtime 3D rendering there's practical limits on resources," as Penny puts it to me. "And Linden Lab has never really communicated this very well to the userbase. Or provided tools the average user can use to manage those resources. Lots of SL content creators truly believe that texture use has no impact whatsoever on performance, and when someone tries to explain otherwise to them, they point to things like draw weight, saying if textures were really an issue, Linden Lab would have included them more heavily in features like that."
The introduction of mesh has actually made this problem worse:
"Back in the days of prims you had a limited number of surfaces to apply textures to. An SL prim has a set number of surfaces that you can apply a texture to," Penny explains. "And you're limited in the number of prims you can link together. But with mesh, you can chop it up to apply dozens of textures."
It gets still worse with more recent feature additions: "Then you throw materials into the mix. If you're using spec and normal maps that's three textures per face instead of just one. And in 3D modeling, you create the 'UV wrap' dictating how the texture is applied to the model. And lots of creators do this very wastefully, using a 1024x1024 texture, but with over half of the texture being blank, unused space that just eats up memory for no reason."
Linden Lab's failure to explain these issues contributes to the problem, which is then compounded by community members who miss the larger tragedy of the commons problem at play:
"Whenever you bring up content optimization in SL, creators who don't understand it mistakenly see it as a restriction on their ability to create content," says Penny. "I'm banned from several stores simply for sharing my views on texture use in SL. People get really heated about it. But it's like Neil DeGrasse Tyson loves to say about science, it's true whether you believe in it or not. When people waste resources, we all pay the cost one way or another."
To explain what she means -- I acquired and uploaded some close-ups of poorly textured mesh objects from Second Life (names removed to protect the innocent!) for Penny to review. Read some of her advice for improving on them:
"[These] are examples of just plain old fashioned unused space:
"This next one shows a very similar issue, where the texture uses all of the space, but much of it is used for repeating features:
"Look at how over half the texture is devoted to nearly identical faces. A better way to approach this would be to cut out the redundant parts of the texture and have those elements appear on multiple faces. No one would notice the difference, but you'd have a much smaller texture. Like 1/4 the size of this. I've seen people do this with chains, where every link gets its own space in the texture, when the creator could just use a single chain link texture repeated across every link in the chain."
These problems are rife throughout mesh creations in Second Life.
"I feel it's best not to name and shame here, as they just don't know better, and Linden Lab hasn't done anything to convince them this is bad. I don't believe one should need a full education on game design practices to create content for SL, including texture use in Land Impact calculations."
Perhaps the challenge for Linden Lab is to be more forthright about these issues, and offer more carrots, than sticks -- i.e. awards and badges for Best Optimized Mesh?
I mean, the thing is… it would be great if education from LL existed? But people have to want to to learn too.
As a person that works to the best of their knowledge to optimize stuff: optimization requires a lot of time and knowledge. If you have the option of spending hours learning about this stuff, then spending more hours optimizing your content vs. "oh, I can just do whatever I want and upload it anyway without any penalties", people are gonna go for the laziest option.
Time is money for creators in SL, and meshing, texturing, rigging are all very involved processes that demand a lot of it. When the resulting product then gets sold for usually less than 2$ USD (most clothing items I see are in the 200L$ range) I can completely understand not wanting to go the extra mile.
I do it because I'm a huge nerd and care about making optimized stuff, but I can also completely understand others not wanting to bother.
I don't know if the onus is on LL for this though. They provide the platform, but but there are people who pay thousands of dollars to go to school and learn how to do stuff like this. They go on to get jobs in the gaming or VFX industries where specialized knowledge like that is crucial. Sl is the minor leagues, and that's the quality of work you're probably going to get with the occasional stand out.
The best part of user-created content? User created content! The worst part of user-created content? User-created content!
Posted by: azaiya aeon | Thursday, April 26, 2018 at 07:14 PM
@azaiya aeon
The onus is on Linden Lab precisely because of user created content! It's unreasonable to assume everyone who creates content in SL will know the technical details of creating content for realtime 3D rendering. So instead a smart developer would create tools which gently curb the worst habits and incentivize good habits, even if the users aren't aware.
One of my comments that didn't seem to make it in to this article is that Land Impact should discourage excessive texture use by including memory use in calculating the cost. The less texture memory you use, the lower the LI cost of your content, making it more appealing to customers who constantly balance LI cost versus detail. Creators would be incentivized to get the most detail out of the lowest memory use so they'd go out of their way not to create wasteful textures like those examples used in the article.
Similarly, there really ought to be a resource cap for avatar attachments similar to Land Impact and said cap should also take textures into consideration along with polygon count.
And yeah, I know there's issues with suddenly putting a cap where none existed before, but there are multiple ways LL could approach this. Such as tying the caps to new features, similarly to how old sculpt and prim content only changes to a higher/lower Land Impact cost if you try to use features introduced after Mesh, such as materials, on them. Another way would be to create the new cap, display the new cap in the viewer, telling people "these caps go into effect on this date" and have that date be like a year or so in the future, giving people plenty of time to change their habits and content creators plenty of time to send out updates and start producing new content under the new guidelines.
You'd get the usual grousing and fist shaking, but it would be worth it for the enormous performance improvement we'd all get to enjoy as the changes took hold.
Posted by: Penny Patton | Thursday, April 26, 2018 at 11:19 PM
And I do want to say, it's not just textures. Current Land Impact calculations discourage people from making proper use of LOD. Instead they encourage people to gut their lower end LOD models and simply tell their customers to crank LOD values so high the feature is essentially disabled. That's horrible for framerates.
I believe LL is currently looking into reworking LI costs so that utilizing LOD properly is encouraged, removing the benefit to trying to exploit the system at the cost of everyone's framerates.
Posted by: Penny Patton | Thursday, April 26, 2018 at 11:23 PM
Totally agree Penny. The arguments I've gotten in over high textures and poly count. It'd be really nice if when I walked away from a chair more the 2 inches in distance on medium or ultra settings that chair didn't immediately burst into a triangle. looks terrible and having things set higher then ultra settings or expecting people to run things on ultra to properly see your items is ridiculous.
Posted by: madeline blackbart | Friday, April 27, 2018 at 01:25 PM
I just have one comment that comes up on the SL creation forums often. This is a very old idea and there are various threads on it so enough said, BUT.
CONSUMERS have part of the responsibility. They need to TEST. Get the demo. Go to the store. Test the LODs and physics settings (the new Firestorm Tools in the Build menu help a LOT with this).
People come to the forums all the time complaining. Yes, the builds were bad. Yes the mesh was too heavy, but NO they didn't bother to see the item before they bought it.
IF consumers would stop buying the very pretty but ON SO LAGGY items that are out there on the market, the market would readjust and creators that "simply don't care" would need to start making game asset mesh.
And, for the non-mesh makers here. It takes NO LONGER to make low poly, long distance LOD items with reasonable texture loads than it does to make dense mesh items that disappear when you cam out a few meters and take forever to load. So that argument really has little merit. As creators, we have choices to make; as consumers there are also choices.
In my opinion it is a fifty fifty deal.
Posted by: Chic Aeon | Friday, April 27, 2018 at 02:17 PM
@Chic Aeon
I still say the bulk of the responsibility is on LL. You simply cannot expect every SL content creator, or even most SL content creators, to have the skill and knowledge of an experienced videogame design artist. And you certainly cannot expect the average consumer to know more than the content creators themselves.
LL needed to take this into account and they failed to do that. So neither creators nor consumers really have the tools they need to avoid creating or buying performance killing content.
Now, this appears to be changing. Oz and others have made some really promising comments about this, so hopefully see some new tools coming soon.
Posted by: Penny Patton | Saturday, April 28, 2018 at 12:15 PM
Tools like being able to see the over all texture memory used by an object would be great of course the textures would have to fully load. Houses are a big culprit where every surface has baked on shadows and each face being 1024x1024. Would be great if I could just use the shadow system of my graphic card but noooo. If textures where done right I could use the built in shadow system. The Avatar itself is also a major issue. Hide avatars and watch your FPS climb. You remember that goofy quiz you had to fill out to be able to upload mesh content? Well maybe this needs to be a little bit more involved? Something that would make people think a little more. like should you use a 1024x1024 texture on an elevator button? I find myself re-texturing entire builds just so the texture stop re-rezzing. There is an art to optimization.
Posted by: Gearsawe Stonecutter | Saturday, August 24, 2019 at 07:42 PM