Jump to content
CoffeeDujour

This is why we can't have nice things.

Recommended Posts

Posted (edited)

An entire game character. 35K polys .. probably 50K tris more or less. First one I found on googums. Intended to run on a real time game engine, a 3D rendering race car if you will.

ragdk25.png

A single ugly shoe from SL .. powered by a render engine thats more akin to a tugboat . 18K tris. It also contains a second hidden copy of the strap, but still counts.

fgKFUOF.png

The same wireframe shoe at similar human scale to the above game character.

Evd9ckI.png

Looks solid. 

We have a major problem. There is no way on earth that shoe was designed specifically for use in SL or real time content. It's for rendered content .. marketing, billboards .. film .. It make no sense whatsoever that the original creator went to the trouble of making it that detailed just for SL, that would represent a significant amount of work and time and is not in any way fit for purpose. 

No one with that level of 3D skill would intentionally make that content for SL. 

No one with that level of 3D skill would have any problems making it half the tris.

No one with that level of 3D skill would have any problems making it 10% of the tris.

This is the first random shoe I found in my inventory.

This is why we can't have nice things.

Edited by CoffeeDujour
  • Like 3
  • Thanks 5

Share this post


Link to post
Share on other sites
5 hours ago, CoffeeDujour said:

An entire game character. 35K polys .. probably 50K tris more or less. First one I found on googums. Intended to run on a real time game engine, a 3D rendering race car if you will.

ragdk25.png

A single ugly shoe from SL .. powered by a render engine thats more akin to a tugboat . 18K tris. It also contains a second hidden copy of the strap, but still counts.

fgKFUOF.png

The same wireframe shoe at similar human scale to the above game character.

Evd9ckI.png

Looks solid. 

We have a major problem. There is no way on earth that shoe was designed specifically for use in SL or real time content. It's for rendered content .. marketing, billboards .. film .. It make no sense whatsoever that the original creator went to the trouble of making it that detailed just for SL, that would represent a significant amount of work and time and is not in any way fit for purpose. 

No one with that level of 3D skill would intentionally make that content for SL. 

No one with that level of 3D skill would have any problems making it half the tris.

No one with that level of 3D skill would have any problems making it 10% of the tris.

This is the first random shoe I found in my inventory.

This is why we can't have nice things.

 

   Out of curiosity, by how much does your avatar render complexity increase when you wear those shoes?

Share this post


Link to post
Share on other sites

7460 PER SHOE

These shoes are not atypical, not special, not the worst I have by a long way. They are pre the most recent hackery used to get attachments to report a much lower ARC score.

  • Sad 2

Share this post


Link to post
Share on other sites
Posted (edited)

Here is a dress I bought recently from a name brand for a name brand body.

jcYXybJ.png

Here is the dress on screen scaled as it appears on my avatar ... 

zGCCAAP.png

I'm not blaming this specific dress vendor for all that lags SL, this is again just the first one I grabbed to demonstrate with. This brand is not alone. This is NORMAL.

Like many clothing items, this has an inside. So not only is it ridiculously high poly for real time content. It's 40% more triangles than it should be .. just for the people who cam up your skirt I guess. (ignoring the insane poly count for just one split second)

This single attachment is 285k tris. How many triangles do you think this would be if it was actually designed for real time content?

This is insane.

I could do this all day. Literally everything I have bought in the last year is like this.

Edited by CoffeeDujour
  • Thanks 1
  • Sad 3

Share this post


Link to post
Share on other sites
9 hours ago, CoffeeDujour said:

We have a major problem.

No one with that level of 3D skill would intentionally make that content for SL. 

No one with that level of 3D skill would have any problems making it half the tris.

No one with that level of 3D skill would have any problems making it 10% of the tris.

This is the first random shoe I found in my inventory.

This is why we can't have nice things.

not totally going against this, yes we have a complexity problem.

But.....
Sl will not longer be the place it was meant to be if you change the ability to create and trade on all levels. When you start monitoring the creations you will simply kill all interest of people who don't have professional skills.

I hate it people call the sky is falling, but if only profs are able to bring their content to SL the sky wíll fall and many hook off.
It will work only when there's a general available easy to use tool ( prefrerably build in the viewer) that makes optimal uploads.

I also wonder if it will help to see so many threads about this subject, only the ones that already make good mesh will reply and agree, a majority doesn't read it and even more never come here on the forums. In my opinion this has to be discussed mainly at the development teams and bring the progress in this matter on the forum.

Share this post


Link to post
Share on other sites
2 minutes ago, Ethan Paslong said:

Sl will not longer be the place it was meant to be if you change the ability to create and trade on all levels. When you start monitoring the creations you will simply kill all interest of people who don't have professional skills.

Not making content that is hundreds of thousands of verts over budget is not a professional skill. It's a basic skill.

Do not waste time modelling geometry no one will see.

Do not waste time modelling geometry when a texture will do.

Do not just hit export and not even look at the mesh.

The problem we have is very little current content is being made for SL or for any real time rendered platform. So either they were made for some other purpose and then just bought and uploaded, or the meshes aren't being manually touched at all after they have been exported from a clothing-designer-fashion-library-fabric-simulator-app.

This is not a poke at people making content by hand, hand made content specifically for SL does not look anything like the current fashion industry. If anything, it's aggressively well made.

This kind of content is killing the platform.

  • Like 3

Share this post


Link to post
Share on other sites
11 minutes ago, CoffeeDujour said:

Not making content that is hundreds of thousands of verts over budget is not a professional skill. It's a basic skill.

Do not waste time modelling geometry no one will see.

Do not waste time modelling geometry when a texture will do.

Do not just hit export and not even look at the mesh.

The problem we have is very little current content is being made for SL or for any real time rendered platform. So either they were made for some other purpose and then just bought and uploaded, or the meshes aren't being manually touched at all after they have been exported from a clothing-designer-fashion-library-fabric-simulator-app.

This is not a poke at people making content by hand, hand made content specifically for SL does not look anything like the current fashion industry. If anything, it's aggressively well made.

This kind of content is killing the platform.

you only confirm my point. You exclude the people that simply create out of fun. Creation in your line is only for the happy few.

Share this post


Link to post
Share on other sites
Posted (edited)

I know. Which is why I keep talking about the need for automatic polygon reduction. Few people will get this right.

I have a leather jacket and biker boots which push my avatar up to 68,000 triangles. Each rivet in the boot is fully modeled as a part. Looks great, but it could look great with a quarter of the triangle budget.

(I wouldn't mind buying a new pair of biker boots with a sane triangle count. Any recommendations?)

Edited by animats

Share this post


Link to post
Share on other sites

It's so seldom that I see levels of detail done right that I'm posting a good one I found recently.

lionhighlod_001.thumb.png.a1c6faf917c1702b7f73fa9252bb28d6.png

High level of detail. 1511 triangles. Made by "Stumbolova".

lionlowestlod_002.thumb.png.e1b0bc9041d3a1d067662456508e1021.png

Lowest level of detail. 46 triangles.

In between are "medium", at 376 triangles, and "low", at 96 triangles. You can look at this model from any distance and it not only looks good, you barely see the transitions. That's normal in games, but very rare in Second Life.

  • Thanks 1

Share this post


Link to post
Share on other sites

Rezzed content is generally a lot better as we all have limits on the amount of stuff we can rez, if that lion was 60 Li no one would buy it.

Unlike the dress I posted .. which is about 60Li if rezzed.

 

 

Share this post


Link to post
Share on other sites
3 hours ago, Ethan Paslong said:

you only confirm my point. You exclude the people that simply create out of fun. Creation in your line is only for the happy few.

No, she doesn't. She's talking about commercial products here. If you create just for fun, you don't expect - and have no right to expect - otherrs to pay you money for your works.

Share this post


Link to post
Share on other sites
1 minute ago, ChinRey said:

No, she doesn't. She's talking about commercial products here. If you create just for fun, you don't expect - and have no right to expect - otherrs to pay you money for your works.

commercial upperclass you mean?.. in thats case this thread is even more useless, you'r preaching for you own congregation, everybody sleeps and yawns because they heared your sermon thousends of times before.

 

  • Thanks 1

Share this post


Link to post
Share on other sites
Just now, Ethan Paslong said:

commercial upperclass you mean?

I wouldn't use the word "uppeclass" but yes, this is always about commercial mesh - and usually mesh that wasn't even made by the "creator". In most cases it's some freebie they found on the internet and uplaoded to SL to make some moeny from.

Very few people make mesh for Second Life just for fun. The work those people produce doesn't add much lag simply because there's so little of it.

 

6 minutes ago, Ethan Paslong said:

in thats case this thread is even more useless, you'r preaching for you own congregation, everybody sleeps and yawns because they heared your sermon thousends of times before.

They still complain aboutthe lag though. And many leave Second Life because of the lag.

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, ChinRey said:

They still complain aboutthe lag though. And many leave Second Life because of the lag.

no figures to proof that i think and also here on the forums/answer section, the lag questions are in a far minority compared to the connection issues.


I think most leave because they don't get even a basic understanding of SL,
want to have and be what older residents build up in years and see the huge costs when they want to do that in a day.

Share this post


Link to post
Share on other sites
Posted (edited)
4 hours ago, Ethan Paslong said:

the lag questions are in a far minority compared to the connection issues.

I've checked your past activity here. It's good to see you are helping people with that. :)

But the two issues are actually related. Heavy meshes isn't only a problem for the client computer, they take up a lot of bandwidth too. And of course, the more time your computer has to spend trying to render the scene, the less time it has to take care of the connection.

I'm not sure if it's just me but I've had some serious connection issues with Second Life recently. I don't have any packet loss and it's Second Life only. I don't even get the problem on opensim. So I have good reason to believe the problem lies with SL/LL and the most plausible explanation is that their connection lines are overloaded.

Edited by ChinRey
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
2 hours ago, Ethan Paslong said:

no figures to proof that i think and also here on the forums/answer section, the lag questions are in a far minority compared to the connection issues.

Ultramesh content creates a perfect storm on lower end machines.

When rezzing somewhere, there is a direct battle for CPU resources between the render engine and the texture decoder. The decoder gets a time slice based on frame rate. At very low FPS, you also get very low texture decodes per sec, in some cases single digit decodes per second (and 16x16 ones at that initially).

"SL is slow" and "nothing rezzes" go hand in hand, and unlike just raw rendering performance, this one is entirely CPU bound. Guess what else is also performing very badly right about now ... the netcode.

Of course we get no figures published, but I can assure you working on a viewer project that has the reputation of being lighter, we see this issue way more often than it comes up here. Most residents don't even know SL has forums.

Performance is a priority issue for us and we're dealing with the fallout on a constant basis, often at a point of last recourse to the user directed to us as everything else has failed.

What are we supposed to do .. hush up about this mesh thing because people are bored of it. "sorry, you can't play SL anymore".

 

3 hours ago, Ethan Paslong said:

commercial upperclass you mean?.. in thats case this thread is even more useless, you'r preaching for you own congregation, everybody sleeps and yawns because they heared your sermon thousends of times before.

All of the stuff I have featured in this thread has come from vendors at headline events.

This is the output of fancy class "professional" content creators.

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
8 hours ago, Ethan Paslong said:

Sl will not longer be the place it was meant to be if you change the ability to create and trade on all levels. When you start monitoring the creations you will simply kill all interest of people who don't have professional skills.

SL already does this for content you rez on land. You have a limited abount of Land Impact points to work with. LI cost of an object is based on its complexity. It has always done this for content you rez on land. Prior to LI, it was done with prim limits. I've been in SL since 2005 and it has always been this way. Are you suggesting no one except a tiny handful with professional skills creates content designed to be rezzed on land?

No, of course not. Coffee isn't suggesting limits to strict only professionals could adhere to them, just basic common sense restrictions which anyone with the ability to make content in the first place will easily be able to work with. Including those who create just for fun.

The only people who will truly be negatively affected by what Coffee is suggesting are those who purchase or steal content not created for SL, then import it to SL and try to pass it off as their own work, which would allow actual content creators of all skill levels to thrive a lot more.

  • Like 3

Share this post


Link to post
Share on other sites

I've seen a couple people on the forum made to feel bad for not being 'updated' though. I know it's anybody's choice as to how they feel regarding a confrontation...but those accusing were a bit harsh.

We need to find a way to encourage them without making them inferior.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
3 hours ago, Luna Bliss said:

We need to find a way to encourage them without making them inferior.

Yes but...

We've tried that. We've tried that for years. If you go through our posts you should notice how it all starts very nice and factual and how the tone gradually hardens as frustration levels rise. I truly admire Penny, she's been at it for longer than anybody else and somehow she still manages to keep a certain amount of patience. You can't expect that from everybody.

Can you imagine how much time and effort it has taken to basically reverse engineer then entire SL setup to provide the documentation LL should have given us in the first place? Those tests don't do themselves you know. My part of it alone easily amounts to more than a year's worth of full time work.

This is where I finally lost the last my patience:

On 6/27/2018 at 4:36 PM, Patch Linden said:

I genuinely love feedback.  I have yet to see or have any one suggest to us how you would use your masterful expertise to do any of this differently.   As mentioned, please stop and think that we are operating within the confines of the same potentially flawed systems you all very much love to bash and point out.   On top of that you trash our content and content creators at a very deep, personal level, who are the very same people so passionately in love with the community and Second Life that they do this all for the love of it in many cases?  

This is the reply from one of the people who are paid to do the job we did. And there is one thing nobody else knew back then: This was posted only a day or two after I had contacted Patch with a very factual and very polite offer to help the Moles sort out their LoD/lag issues. His post was just as much a reply to that offer as it was to the thread it was posted in.

So, right after he had read my offer, he told the world he had yet to see any of us suggest how to. And that means:

I gotta right to sing the blues
I gotta right to moan inside
I gotta right to sit and cry
Down around the river

(Bilie Holiday)

Edited by ChinRey
  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, CoffeeDujour said:

Ultramesh content creates a perfect storm on lower end machines.

When rezzing somewhere, there is a direct battle for CPU resources between the render engine and the texture decoder. The decoder gets a time slice based on frame rate. At very low FPS, you also get very low texture decodes per sec, in some cases single digit decodes per second (and 16x16 ones at that initially).

Texture download and decode, at least in Firestorm, is in separate threads. If you have a CPU with multiple cores, that's going on in parallel. That part of the viewer looks pretty good about concurrency.

Mesh download and decode has a similar concurrent system. See "llmeshrepository.cpp" in the viewer source:

// Purpose
//
//   The purpose of this module is to provide access between the viewer
//   and the asset system as regards to mesh objects.
//
//   * High-throughput download of mesh assets from servers while
//     following best industry practices for network profile.
//   * Reliable expensing and upload of new mesh assets.
//   * Recovery and retry from errors when appropriate.
//   * Decomposition of mesh assets for preview and uploads.
//   * And most important:  all of the above without exposing the
//     main thread to stalls due to deep processing or thread
//     locking actions.  In particular, the following operations
//     on LLMeshRepository are very averse to any stalls:
//     * loadMesh
//     * getMeshHeader (For structural details, see:
//       http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format)
//     * notifyLoadedMeshes
//     * getSkinInfo
//
// Threads
//
//   main     Main rendering thread, very sensitive to locking and other stalls
//   repo     Overseeing worker thread associated with the LLMeshRepoThread class
//   decom    Worker thread for mesh decomposition requests
//   core     HTTP worker thread:  does the work but doesn't intrude here
//   uploadN  0-N temporary mesh upload threads (0-1 in practice)

All the right stuff is in there, but sometimes it underperforms. I don't know viewer internals well enough to understand why the main thread still stalls. On my own 4-CPU machine, I never see more than 125% of one CPU in use.

Share this post


Link to post
Share on other sites

tralaladinerstats2.thumb.png.988fa785a04d18232471996da49ebf9d.png

Tralala's Diner. A well-known cluttered scene in SL.

11.8 FPS. Many high-detail objects. There are all the stats. Everything is fully loaded. What's the bottleneck? Draw calls?

This is is at "high" graphics mode. At "ultra", frame rate drops below 4 FPS. And ping time increases to 306ms. Clearly ping is being measured from a thread that's being stalled. Actual ping from this location, from the "ping" program, is consistently 40-45ms.

Share this post


Link to post
Share on other sites

As you have found .. it's not that threaded. Push it too far and the main thread ends up waiting around for the threads to finish. Threads are also expensive, the kernel overheads are enough to nuke theoretical benefits especially as everything that can be threaded in theory is really just a million tiny tasks.

Kitty experimented with threading individual texture decodes in openjpeg, on paper it should have helped, especially with full resolution images .. The math looked good. The end result .. higher cpu usage across multiple cores ... and grey. Grey everywhere.

I'm less concerned with rezzed stuff, that will always be contained by Li .. if you choose to focus all your Li on one place, well that's your call. In general the desire to have more stuff on less land will always win out with hacks and actual efficiency leading the charge. Hacks don't last forever, efficiency does and it's something that people are getting better at all the time.

Avatars and clothing doesn't have the same iterative cycle of refinement or pressure to get the most from a finite resource. Fashion and event themes drive the market place and looks sell. The closer an avatar can get to pre-rendered CGI the better.

Share this post


Link to post
Share on other sites
Posted (edited)
13 hours ago, ChinRey said:

Can you imagine how much time and effort it has taken to basically reverse engineer then entire SL setup to provide the documentation LL should have given us in the first place?

And there it is.  They whole key to this.  The total lack of any useful and complete OFFICIAL documentation that is kept up to date.

I tried to get into vehicle scripting, there is ONE page in the official wifi stuff about it, no proper examples, and no guided educational data.  This is the same as the Mesh documentation.

Conclusion, LL want SL to be crap.

And having created it, then fired (or otherwise pissed-off) their own creators, they now can't fix it, because they have no way to rediscover the skills except by asking the people who use it.

It's an insane mess.

Edited by anna2358
typo - I type bad when I'm annoyed.

Share this post


Link to post
Share on other sites
25 minutes ago, anna2358 said:

And there it is.  They whole key to this.  The total lack of any useful and complete OFFICIAL documentation that is kept up to date.

SL has a serious problem with poor internal documentation. 15 years of legacy code in a system with complex near real time state has led to technical debt. This is a headache for LL internally. I've had enough conversations with various Lindens about region crossing problems to realize that they don't really have a solid understanding or documentation on how it works. That's why it's not fixed yet.

That's probably not the problem in the mesh and rendering area, though. Remember, the server side knows almost nothing about how things look in SL. That's all in the viewer, and there are third party viewers, so clearly people have figured that out. The viewer code is large and under-commented, but reasonably straightforward.

My main complaint about the viewer code is the lack of separation of policy from mechanism. The texture system makes constant decisions about which textures to load first and at what resolution. That decision making is spread across multiple places in the code. It ought to be centralized to make it easy to test changes to policy without breaking functionality. Same thing for level of detail. There's general agreement that the policies need some tweaking and maybe a rethink in spots, but the code involved is spread around and delicate, so no one dares. For example, a policy that maintains frame rate while reducing quality, LOD thresholds, and draw distance when necessary is worth a try. Maybe do that when moving; go for quality when stationary.

Quote

I tried to get into vehicle scripting, there is ONE page in the official wifi (sic) stuff about it, no proper examples, and no guided educational data.  This is the same as the Mesh documentation.

Now that's much less of a problem. The LSL documentation is reasonably good, and usually accurate. There's a vehicle tutorial. There's something in world called "The Vehicle Lab", a sim devoted to teaching vehicle design. It's only half-finished, though. You can get full perm vehicles on Marketplace and look at the code.

There is obscure knowledge you need to know to make vehicles work well. Mostly bugs you have to work around. The bugs are in the JIRA, unfixed but documented. I've written up many of the ones I've encountered on the forums.

Let me know what you're having problems with on the vehicle side.

  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)
13 hours ago, animats said:

SL has a serious problem with poor internal documentation. 15 years of legacy code in a system with complex near real time state has led to technical debt. This is a headache for LL internally.

Yes, that is something we have to remember. If what we have to struggle with is Documentation From Hell, there's no word left to describe what the poor Lindens have to face themselves.

The fitmesh LoD bug is as close to a game breaker as it can possibly get without actually being one and the root cause of it is poor documentation. The developers of Quick Graphics were in a hurry and had to make a lot of assumptions because the information they needed to get it right was not available.

Then there's the Marketplace. It's a Ruby on Rails written by somebody who had never worked in Ruby before and had to keep asking noob questions at the Ruby forum while he/she was trying to write the MP code. WHat kind of documentation would that person even be able to leave for the programmers who were to modify the code in the future?

As a paying customer, I'm not satisfied with the product LL delivers and I do reserve the right to complain because the Lab as a whole is accountable for every mistake the Lab made through its entire history. But I do actually understand and appreciate how hard it is for the current staff there to handle the mess their predecessors left them.

At some public meeting - I can't remember which - somebody compared the work the LL developers were doing to the old cartoon gag of laying the tracks down in front of a speeding train. Oz' laconic answer was that they also had to change the gauge while they were at it. He didn't mention the sidegame of mikado they have to play to retrieve rails from the storage heap.

Edited by ChinRey
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×