Jump to content

Graphics quality in SL


You are about to reply to a thread that has been inactive for 2900 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Wondering if it would ever be possible to have better graphics and animations in SL? In videogames the quality is amazingly realistic.

In this machinima video from GTA 4,

http://www.youtube.com/watch?v=5m3oxZBpaGQ&feature=related

you might think for a moment you are looking at a video from rl, it is actually that good!  Also, the movement of the characters is smooth, they walk in a natural way, get up from a car and close the door in a way that never happens in SL. Is it because someone just hasn't created it yet or is it because it's not even possible?

Link to comment
Share on other sites

When you're designing for a professionally created and marketed game, you can optimize the resources and put in whatever level of detail you feel a certain scene needs. You can choose to have the characters and props in the foreground be high detail, while simplifying background details to speed things up. You can also pre-cache the animations and data needed for that scene, so it can play more smoothly.

But when you open the door for every user to potentially add content, you need some practical limits, so you don't have people doing 60 frame per second individual animation loops for a dozen flies hovering over a trash can, and lagging the scene beyond measure. A user-created environment like SL has no control over who or what is in any scene at any given instant in time.

I would love to see the ability to play longer animation sequences and longer audio clips. But I am not too sure how well SL could handle that.

Also, SL has a major disadvantage over any packaged game, in that the frame rate is variable, depending on the load the asset servers are dealing with to present what is in the avatar's immediate area, and how much resources those assets require. A flawless animation cycle can look stuttering and jumpy if it is being executed while a bimbo with two hundred twisted torii each with transparency and a few bling scripts in her prim hair unexpectedly enters the scene, dropping a viewing resident's frame rate from 30+ FPS to 3 FPS. In a professional game, you can ensure that never happens, and you can set the frame rate at whatever you need (usually a fixed rate that is 30 FPS or more)..

  • Like 1
Link to comment
Share on other sites


Setekh Ichtama wrote:

You haven't seen quality until you've seen Battlefield 3 (YouTube "Grand Bazaar" in Ultra Quality)

and GTA4 is an older game (it was released in 2008).

 

This was actually GTA 4 ENB ultra graphics, which is newer than 2008?

And about lagging, that is understandable. But while shooting machinima, isn't it possible to restrict access to a sim during filming so there wouldn't  be any random surprises such as avatars creating huge lag?

Link to comment
Share on other sites

An owner can close a sim to prevent anyone from entering unexpectedly.  But a sim's data is placed on a single core of a multi-core CPU.  Any CPU has a finite amount of resources available for all the cores and those resources are a divided up evenly for each sim on the CPU.  A core that has a lot of activity can affect the performance of other sims on the same CPU.  A sim's core is not necessarily on the same CPU of the sims surrounding it on the grid so there's no way an owner can control or limit the activity of other sims on the same CPU.  That, by the way, is part of the cause for those sudden, unexplained lag spikes that occassionally crop up for us all.  Add that to what Ceera said and you might begin to see why SL will never equal the fantastic video people seem to think it should........it's the design of the platform and why LL cannot market, with much success, SL to gamers.  Nothing in the world is stored locally and practically nothing is optiimized for performance.  The optimiization could be fixed, I suppose, with education to the creators (though I don't see that as ever happening).  The content and world being stored locally just cannot be done as long as SL is the world it is.

Link to comment
Share on other sites

Comparing the visual quality of SL to a console game is sort of like comparing someone's facebook page to bmw.com or another professionally built website.  You also have limited camera controls in other games which prevent you from seeing the real quality of the graphics since what you would see would not be high LOD graphics but you would see low rez graphics used on well made mesh maps.

Shadows also play a big part and though most builders now incorporate faux shadows they are not real dynamic shadows. Dynamic shadows can be done in advanced modes but big on lag creators.  The main reason is that SL needs to load each scene as you enter it and then each agent as it enters.  For most games, this is preloaded.

First and foremost, SL is a user generated system and in fact, the level of detail you can attain in SL is far better than anything I have seen anywhere.  However, that also means limits in performance as the system is not built comprehensively.  To create a look and feel like you have in most game systems you need a few thing SL is missing.

One would be complete control over every build and every object created in game.

You would need to pre-install the entire game and its components on your PC much like the mammoth 10 GB application that WoW is.

You would need to build entirely in mesh and have complete control over all lighting and physics. 

And since this is not what SL is, I don't see any of this happening.  it would more inline with asking Facebook to have their users create better looking pages. SL is a user generated Virtual World and not a game.  It was weak game platform at the onset and still is today but what it does do is allow us to be more creative in making a better looking world.  If you saw what SL looked like 5 years ago, you would be amazed at how far it has come.

 

  • Like 1
Link to comment
Share on other sites

Thanks Ceera, Peggy, and Chelsea.

Considering that most sims are empty or virtually empty most of the time, it seems strange that the load one puts on a core can have a big effect on others on the same server.  Are we describing underpowered servers?

I have read a lot of discussions similar to this one, and it's usually said that SL graphics are much harder to handle than a usual game's graphics because everything is dynamic.  When I look around the sim I live in, I can see that most of the content has not changed in months.  Couldn't there be some way for the server to know that?  At least, it could know what objects are locked and how long they've been locked and know they are unchanged for some period of time, couldn't it?  Also, if viewer is smart at all about what it saves in cache, now that the cache is really big, most of what I see should be in it.  Why can't it load that content really fast first, and then check for changed content?  

Another thing that has long puzzled me is that SL can't seem to just let it's graphics degrade and run when not enough graphic power is available. I have two computers, but only one monitor, so I use Remote Desktop Connection a lot.  SL graphics initialization fails when I try to run it using RDC, presumably because the best color available is 32 bit,  Why can't it just go ahead and run the same, except for being less pretty.  I understand that it uses the GPU to do things that other parts depend on, but it doesn't seem that having a poorer quality connection from the GPU to the monitor should affect that.

 

Link to comment
Share on other sites

 The most limiting factor for SL's graphics would be Linden Lab's unwillingness to understand basic design and creation concepts.

 SL is actually capable of much better graphics than most people realize. You rarely see the best SL has to offer because it is an extremely up-hill battle against SL's own content creation tools and certain unfortunate trends such as avatars being 7-8' tall on average, broken and buggy tools like the inability for tall women avatars to even have proper body proportions and just plain bad design decisions (the poor windlight defaults, the bad camera placement).

 SL also lacks some pretty basic creation tools, like the ability to align selecting prims/objects (there's an unofficial patch adding this ability, but the official viewers still lack it), the ability to delete all scripts from an obect with a single click (ditto), normal mapping, basic shadow controls (like the ability to set specific prims to not cast shadows) and provides no education or motivation to encourage more efficent building habits among SL content creators. In some ways SL's content creation tools even discourage efficiency!

 There's also features that are missing entirely, like the ability to create and animate convincing NPCs (Non-Player Characters, avatars without a person behind them. Bots are a poor work-around for this.) within SL.

  Many of these issues could be easily fixed by Linden Lab, but so far they have been unwilling to do so.

 

No matter how much tech enhancements (shadows, windlight, mesh) Linden Lab adds to SL it can never look as good as a professionally made game so long as SL remains plagued by these problems. Even a content creator with professional level skills can only do so much when the tools themselves are broken.

 Unless LL's attitude towards design changes I wouldn't expect significantly better visual quality until maybe a new, competing virtual world arrives on the scene.

  • Like 1
Link to comment
Share on other sites

Although I agree on most things you say, very few of those things have a real impact on the graphics quality.

I think, well in fact I'm pretty sure, the biggest problem with SL graphics is the same thing that makes SL great and sets it apart from other platforms. I'm not very familiar with realtime rendering besides SL, so forgive me if I make some incorrect assuptions in the numbers I use and feel free to correct me. Anyway, in a game the creator pretty much has full control over anything on screen at any given time. So the maximum of faces to be rendered can be set at let's say 500000. The main character can be 30k. Secondary characters can be a fraction of that, maybe 5k, buildings a lot less, plants are always very basic. In SL everyone can create their own items and usually looks are preferred over low data/rendering costs. This means the trees are made out of 5 sculpts with 10k faces, buildings have windowsills and hidden faces etc, secondary characters don't exist in SL and we all know most avatars with a nice collection of worn items won't be under 30k faces (or even close). Add to this the fact everything has to be streamed, server CPUs are shared and scriptload is very heavy compared to games and it is hardly a surprise the framerates are a lot lower than in a game built by professionals with full control.

Ofcourse LL could improve some things here and there, but like I said the main issue is user built content and if they are restricting this, SL will soon be dead, since SL is SL because of it.

  • Like 2
Link to comment
Share on other sites

Everybody in this discussion has been focussing on the renderign or graphics crad side of the problem.  Let me add another factor in why the graphics quality is low - ISP speeds.

 

SL currently does not work with dial up.  and people on low end broadband have problems.  If SL were to double the graphics quality tomorrow many people would find SL unusable because of the bandwidth requirements.

 

I wish we could find a way to sync texture databases between SL and my local machine.  But that is not gonna happen.

 

 

Link to comment
Share on other sites

Hey I mentioned streaming! :)

I think this is a minor problem compared to the rendering though, and to the script load on the sim.

If you open the statistics bar, you can see the bandwith. Only on sim entry do I see 3 digit numbers, in most cases I see low 2 digit figures. Dial up is not sufficient no, but for what is it, besides reading your email these days? I don't consider my 5-8Mb line very fast, yet I haven't seen SL using the full line.

SL loads textures and geometry to your local cache. This means once it's loaded you only have to up- and download any changes made to that and the communication between avatars.

I do have to mention I don't use voice and usually I have streaming music and media turned off.

 

Link to comment
Share on other sites


hibit Spad wrote:

SL currently does not work with dial up.  and people on low end broadband have problems.  If SL were to double the graphics quality tomorrow many people would find SL unusable because of the bandwidth requirements.

 

What I don't understand is why the server can't know how fast the connection is and send lower-quality graphic information to clients that are on slow connections, and better quality to clients on fast connections.  Couldn't it periodically check how long it took the client to respond?  The client could be written to give the highest priority to responding such a request from the server, so that it could reflect the time it took for the round trip more or less accurately. It could do something like truncating the lowest n bits of colors, lowering the resolution of textures, etc. 

I have an 18 Mbps connection, and I regularly download files from fast sites at over 6 Mbps, yet the highest bandwidth I have seen in the Statistics Bar is 1.6 Mbps, and that was for a few seconds once. I'm not really qualified to have an opinion, but my conclusion is that much lag is due to LL's servers or their connection to the Internet backbone being slow.

Link to comment
Share on other sites

Even if datatraffic between servers or server and viewers over the internet is a big part of lag in SL (which I doubt)...the underlying issue is still the fact people can built what they want, how they want. Professionals wouldn't use the insane amount of 1024x1024 textures used in SL. In our little virtual world, everything is designed as a single object opposed to a part of a whole.

It's a problem that will always be here. I personally don't understand why a 32x32 texture costs as much to upload as a 1024x1024 one. if a 1024 costs 100 times more, a lot of people will think twice if they really need it. I also don't understand why LL isn't pushing harder on script limits. I also don't understand why you can in theory wear over a billion triangles.

Eeeehh..I do understand actually... as I said earlier, it's what makes SL such a great place, but a laggy one. (a bit more restrictive wouldn't hurt though)

As for bandwidth.. you can set your bandwidth in your preferences, although I never got the impression it really made a lot of difference.

Link to comment
Share on other sites

My thought in this area is that they could introduce a new class of server that used mesh-type costing for all prims and sculpties as well as mesh, had limits on attachments as well as static mesh, and had script ;limits. Then they could see if the forcing people to invest in more efficient content and get much better performance as a result, would be a trade-off some sim owners would prefer. They would probably have to incentivise testing with a period od reduced tier, but that would gradually return to normal. An experiment like this would let us see the real value that residents placed on performance versus profligate resource consumption. No doubt the balance would be different for different land uses and for different users.

Link to comment
Share on other sites

I think bandwidth has something to do with lag and that the setting in preferences does make a difference.

The reason I think this is because when I upgraded my internet connection to be faster, teleporting into new places everything rezzed close to instantly.

Now, on a new internet connection in a different city but same computer, it takes a while for things to rez. When I had the fast internet connection, I turned up the bandwidth setting to max. Now, I have to keep it at around 800 - 1200, otherwise, the rubberbanding becomes significantly noticeable.

Besides my internet connection though, the only other thing that has changed is the router, I just use the default one the cable company gives me. I wonder if it would help to just go out and buy my own?  

Link to comment
Share on other sites


Charolotte Caxton wrote:

I think bandwidth has something to do with lag and that the setting in preferences does make a difference.


So do I, I never said it didn't. Again, the reason is not the connection speed per se, but the insane amount that has to make that trip from the server to the viewer.

The topic here was graphics quality, although it's indeed something we all have to deal with, I don't think loading time after a teleport has got anything to do with that. Once everything is loaded the bandwidth drops. I was at a rather full sim today and checked my numbers, I had a constant 60 or so kbps with the occasional spike to 200. This can't be any problem for the vast majority of the residents.

If people would stop using more resources than needed for textures, geometry, physics and scripts, everything would benefit. Rezzing time after a teleport would be shorter, framerates would be higher, sim framerates would be higher etc.

It would certainly make my SL a lot nicer, but the threshold for new residents to participate in building and scripting would be a lot higher. Drongles proposed experiment sounds interesting, but I wouldn't want to participate with the sim that holds my store. I really do not want to answer IMs from people saying "Hey why do I have to undress to enter your store? I am getting messages I am not allowed in because I am too laggy!" However I do think there's a market and if I didn't have a store I'd even be willing to use such a server. I can imagine the raised performance would do wonders for combat or game or racing or whatever kind of action sims.

Link to comment
Share on other sites


Kwakkelde Kwak wrote:

It's a problem that will always be here. I personally don't understand why a 32x32 texture costs as much to upload as a 1024x1024 one. if a 1024 costs 100 times more, a lot of people will think twice if they really need it. 


That's a great idea.  I think it needs a jira.  It definitely should cost more to uplead bigger textures.  People do respond to incentives.

Link to comment
Share on other sites

Depends on what proportion are using their own textures and what proportion are bought inworld. It might only increase texture prices slightly, and all the existing textures would be unaffected. It would be more effective to make the sum of unique texture data in as parcel count against prim allowance, while making an increase in allowance to accomodate modest texturing. Or maybe introduce a separate texture allowance. I guess either would cause riots.

Of course it wouldn't work on attachment textures, which are where the worst excesses are to be found. That would have to wait for render weight charging or limitation, which would cause even more riots.

Link to comment
Share on other sites

Plus it would be very hard to implement. I hope LL is rethinking it, but the way it is now, any glow, any alpha channel, any shine etc returns a multiplier for the display weights. This means a single triangle with some transparancy on an object 1000s of faces big will raise the objects weight by a factor 4 (I think it was 4, but it's not the point what the factor is anyway).

I can understand why LL does this, it would cost a lot of resources to check check and recheck all the faces on such an object every time there's a change. The same is the case for texture size, well not entirely, but it would still require constant checks. It would be fair, but very unpractical. Right now it is practical but unfair...and inaccurate for that matter.

Link to comment
Share on other sites

"....but very unpractical."

I'm not sure I agree. They already recalculate LI (all three weights) and test against capacity every time you stretch a mesh, and that's a much more complicated calculation. 

Hmm. I wonder what the lag is if you animate a mesh by stretching? Of course you can change textures and scupltmaps frequently by script, and it would add overheads there. But maybe that would reduce those pratices which are bad for lag anyway?

Link to comment
Share on other sites

The not so practical and fair bit is the viewer doesn't know if the 1024 texture needs to be rendered or not and on how many faces. The unfairness isn't as big as with the single alpha triangle I bet (1 face or 1000, the texture needs to load), but it's still there.

As for animated mesh lag... I would think all that animating is done on the clients side, whether worn or rezzed mesh, so it shouldn't have to be that bad. The sculpt animating by script is another story since that involves moving around and changing actual geometry in most cases. Now if a mesh was rigged everything could be client side I guess.

Link to comment
Share on other sites

"...viewer doesn't know if the 1024 texture needs to be rendered..."

So if an object has a texture on ot, it gets charged because it will have to be rendered at some point. Just the same as the LOD or hidden triangles for meshes. The LI doesn't change when the mesh is hidden or when the LOD changes. A bigger problem is that It would be unkind when the same texture is used on 100 objects! We are already charged the same for each of 100 instances of the same mesh, but I think that is more justifiable because of the rendering load.

"I would think all that animating is done on the clients side"

As it stands, stretching a mesh changes the physics shape, and all the physics is on the server. I suppose you could have new things like llTargetOmega where it's only on the client.

Link to comment
Share on other sites


Kwakkelde Kwak wrote:

Although I agree on most things you say, very few of those things have a real impact on the graphics quality.

 No, everything I mentioned has had a very real, very drastic, impact on the graphics quality in SL. Design is the overriding factor when it comes to graphics quality. Games like Twilight Princess, Okami, Shadow of the Colossus all look better than even many of the best builds SL has to offer, despite running on hardware and graphics engines that are nowhere near SL's capabilities.

 

 SL has abysmal framerates even in the most hideous or plain looking environments, even on computers that can run Crysis at a smooth 60 frames per second. Why? SL is pushing millions of entirely unceccessary polygons, often because the tools encourage low-prim over low-poly. There's no incentive for users to create objects with smaller, more efficent texture maps so SL eats up texture memory and there's another damper on framerates!

 

 Bigger avatars with cameras hanging another meter or two above and behind them require much bigger buildings than little old 5'7"/173cm me with my game-like custom camera! Those bigger builds eat up more sim space meaning less room for content. Those builds also eat more prims, meaning more polygons being rendered despite less detail! Up until the recent upgrade to 64m prim sizes prims were limited to 10m to a side, so older builds cover SL, eating up even more prims for little return in detail or content!

 

 An uglier SL becauseo f poor design, not a lack of capability.

 Women avatars have freakishly short arms, why? Because once you go over about 6' tall it becomes impossible to stretch a woman avatar's arms out long enough to be proportional. LL then starts all new women avatars off at about 6'4" or taller.Avatars pushing 9' are more common than avatars around 5'. The lack of consistency even at that extreme scale means animations will almost never line up properly, either. Another hit to SL's graphics quality.

 

 All of this is avoidable. Sure, you can blame some of it on user generated conent being made by people with enthusiasm but no skill, but it's silly not to point out that the tools LL provides make creating better quality visuals in SL an up-hill battle even for those of us that are professionals and know what we're doing, let alone the casual users just banging prims together for the first time.

  • Like 1
Link to comment
Share on other sites


Drongle McMahon wrote:

 

So if an object has a texture on ot, it gets charged because it will have to be rendered at some point. Just the same as the LOD or hidden triangles for meshes. The LI doesn't change when the mesh is hidden or when the LOD changes.

Yes good point...


A bigger problem is that It would be unkind when the same texture is used on 100 objects! We are already charged the same for each of 100 instances of the same mesh, but I think that is more justifiable because of the rendering load.

Again the same for Mesh, I can't imagine duplicated geometry gets sent twice from the sim to the viewer.

Mono scripts don't, textures don't.

This is where the higher price for a big texture can be helpful (for big builds with duplicates, not for a single build, duplicated many times by the end user). If you are going to use a 1024 texture four times, it has the same impact as using four 512s once. So the price could be the same. For mesh we get charged by resource use in the upload, or at least estimated (yes it's calculated, but not nearly 100% accurate in a lot of cases) resource use.


As it stands, stretching a mesh changes the physics shape, and all the physics is on the server. I suppose you could have new things like llTargetOmega where it's only on the client.

Yes that's how I would think it should work, or at least have a toggle for that. Never looked very closely, but as far as I know,  avatars physics don't change when animated. The same could be done for other meshes. Then if you want accurate physics on an animated mesh, add a factor 10 or 20 or whatever is reasonable to the physics cost (or download cost?).

 

 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2900 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...