Jump to content

Should LL Incentivize Use of Smaller Textures By Charging More to Upload Large Ones?


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

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

Recommended Posts

For years, I have read in the forums about how use of large textures causes more lag, and about how common it is for people to use large ones when smaller ones would work as well. Recently, I was thinking about this, and it occurred to me that the is no direct incentive to not do that. Many uploaders don't know how large a texture they need, and don't want to take the trouble to figure it out, so I think they just upload a 1024x1024 to be safe, since it costs the same.

Generally, people respond to incentives. I don't know how much it would help, but I'll bet it would help if there were a significant difference in cost, something like this:

1024x1024     L$64
512x512         L$32
256x256         L$16
128x128         L$8
64x64             L$4
32x32             L$2

 

  • Like 1
  • Haha 2
  • Confused 1
Link to comment
Share on other sites

4 minutes ago, Jennifer Boyle said:

For years, I have read in the forums about how use of large textures causes more lag

Years ago, when we only video cards with less than 1GB of video ram, sure that would have been true.

What we really need now is better texture processing in the viewer and automatic switching between different resolutions based on screen area.

Textures decompression is slow. Putting things into VRAM is slow. Textures are never dropped in resolution.

This is something that can be entirely solved with better software and management in the viewer.

 

Fewer textures is vastly better from a rendering perspective. EG an object that uses 4 512 textures presents more processing and render load than the same object using a single 1024 texture.

If we had better texture handling, there would be no reason to cap textures to 1024. 

Favoring smaller textures would make SL slower.

  • Like 8
Link to comment
Share on other sites

There are already tons and tons of textures on the marketplace and in inventories.
It is too late to regulate things with upload fees.
I agree with Coffee, LL should have done a lot of optimization through the viewer by now.

But I will not hold my breath until that will happen.
LL for instance allows the moles texture extravaganzas in Bellisseria, without bothering about lag.

  • Like 4
Link to comment
Share on other sites

42 minutes ago, Silent Mistwalker said:

Please stop trying to fix things that are not broken. They should be fixing what actually is broken and completing things left half done (EEP) instead of nickel and diming us to death. LL is not hurting for profit.

To be fair, for most people when they log into SL and get a fraction of the FPS they get in everything else they play, that would appear to be a thing that's broken.

  • Like 1
Link to comment
Share on other sites

24 minutes ago, Paul Hexem said:

To be fair, for most people when they log into SL and get a fraction of the FPS they get in everything else they play, that would appear to be a thing that's broken.

Appearances can be deceptive.

For more than 15 years I was one of the ones who rarely got more than 15 fps. That improved with the GTX 1050 OC I was running for the past 3 years. Now I have a 1660 and I have seen my fps well over 100. With my current settings I usually don't need to lower DD below 64 in heavily loaded regions. I 'm usually building or sorting inventory so I usually have my DD set at either 128 or 64.

image.png.7b0eb3011876c004d9619c8aab3c00c8.png

Link to comment
Share on other sites

2 minutes ago, Silent Mistwalker said:

Appearances can be deceptive.

For more than 15 years I was one of the ones who rarely got more than 15 fps. That improved with the GTX 1050 OC I was running for the past 3 years. Now I have a 1660 and I have seen my fps well over 100. With my current settings I usually don't need to lower DD below 64 in heavily loaded regions. I 'm usually building or sorting inventory so I usually have my DD set at either 128 or 64.

image.png.7b0eb3011876c004d9619c8aab3c00c8.png

I was going to say there's no way you get anywhere near 100 FPS anywhere that matters, but then I noticed your draw distance.

My parcel I tinker with builds on is bigger than that. I'm on an RTX2070 and sure I can get 200 FPS on my parcel at 64m draw distance, but the moment I go anywhere else or turn it up to a usable amount, FPS immediately tanks. That's a thing that's broken.

Link to comment
Share on other sites

1 hour ago, Jennifer Boyle said:

Should LL Incentivize Use of Smaller Textures By Charging More to Upload Large Ones?

They don't have to, at least not for many viewers like Firestorm, who include this option to avoid loading textures with an amount of pixels  beyond 512 px 

4c5c510dfd3b95ee18ee277ad2cebb68.png.6ba10387d4b36436b8159c92c3980328.png

... and they will not do such as you suggest, because ... money ? ... :|

  • Like 2
Link to comment
Share on other sites

18 minutes ago, Paul Hexem said:

I was going to say there's no way you get anywhere near 100 FPS anywhere that matters, but then I noticed your draw distance.

My parcel I tinker with builds on is bigger than that. I'm on an RTX2070 and sure I can get 200 FPS on my parcel at 64m draw distance, but the moment I go anywhere else or turn it up to a usable amount, FPS immediately tanks. That's a thing that's broken.

You "noticed" my DD when I said more than once what I keep it at? That makes me wonder if you really read what I typed.

23 minutes ago, Silent Mistwalker said:

With my current settings I usually don't need to lower DD below 64 in heavily loaded regions. I 'm usually building or sorting inventory so I usually have my DD set at either 128 or 64.

That doesn't say I never raise it to 256. I just don't see the sense in doing so unless I'm taking snapshots and want the background. There is simply no need to have DD set higher than 128 (or even 64) for most things. Those who insist on it are only wearing out their GPU (and CPU) that much faster. I just don't see the sense in spending money to replace something in a year or 2 that should have lasted 5 - 10 years, if not a life time.

It's only broken because some people insist on higher settings than necessary and loading regions up with a lot of mesh that hasn't been optimized or properly optimized.

Edited by Silent Mistwalker
Link to comment
Share on other sites

31 minutes ago, Coffee Pancake said:

There is an active SL art scene?

There are several Sims dedicated to art, full of art galleries run by SL artists. I doubt all of these would continue if suddenly it cost 64L to upload a 1024x1024 texture, that already is reducing the resolution of the original quite a bit.

  • Like 1
Link to comment
Share on other sites

I got over 200 fps before EEP, now more like a hundred.  Not at most places of course but at MINE because I tried to keep things viable for the folks that don't have 3070 cards :D.   I keep my distance at 120 or so and have shadows on high quality but no DOF except for photos as I don't like it for "living". 

 

A higher charge (more than a decade too late as someone noted) wouldn't help much.  When you look at the cost of texture uploads compared to the time and effort it took to make something (hopefully original work) it matters not for most folks.  And a 1024 PLANNED texture as noted only makes one call to the server rather than a handful if using small textures.   Small textures are fine for jewelry and small things and yes the folks that upload a 1024 texture to go on a "diamond" say are either clueless or lazy or just don't care.  No one could even tell the difference. 

 

We HAVE made progress getting creators to make better LODs (and physics for the most part) but I doubt that anything will change the way they use textures.  For many folks a 1024 texture looks better. And it does, I agree. But for me there needs to be a point where "looks" are balanced by "usability".  As long as the highly textured and often dense mesh items sell --- I doubt seriously that many creators will make a change.  

 

  • Like 1
Link to comment
Share on other sites

3 hours ago, Jennifer Boyle said:

or years, I have read in the forums about how use of large textures causes more lag,

This isn't necessarily true, using a single 1024x1024 texture for a building and mapping parts of it to the various faces i far more efficient then using half a dozen textures on the different faces. In the train simulators many buildings and structures are textured in this way, and when moving through a 768x768 region of the world in Trainz there is none of the blurred greyness that plagues SL, despite the trees and buildings using large textures. The problems that plague SL are more specific to the manner of storing, retrieving and applying these textures, so the fewer that can be used in a scene the better. Sadly, we lack some of the more advanced texturing tricks such as picking a small part of a large texture and then tiling a face with it using repeats.

  • Like 1
Link to comment
Share on other sites

7 minutes ago, Profaitchikenz Haiku said:

This isn't necessarily true, using a single 1024x1024 texture for a building and mapping parts of it to the various faces i far more efficient then using half a dozen textures on the different faces.

Yes but I have to point that with Jennifer's suggestion a single 1024x1024 would still be cheaper to upload than four 512x512s so it still makes sense. I do agree that it's too late to change this now though and there certainly are more important performance issues to work on.

 

3 hours ago, Coffee Pancake said:

Years ago, when we only video cards with less than 1GB of video ram, sure that would have been true.

A 1024x1024 is still 4MB VRAM though. It doesn't take more than a few thousand of them before even 8GB VRAM is insufficient.

 

3 hours ago, Coffee Pancake said:

What we really need now is better texture processing in the viewer and automatic switching between different resolutions based on screen area

What??? I don't know about Snowglobe but I'm pretty sure Snowstorm based viewers do that already, although it's fairly late in the rendering process. @Beq Janus, can you confirm this?

 

3 hours ago, Coffee Pancake said:

Textures decompression is slow.

That's not entirely the viewer's fault since it's all done by a third party library. However, LL switched from Kakadu to OpenJPEG a few years ago. According to fastcompression.com  Kakadu's decoder is almost twice as fast as OpenJPEG's for lossy compression images so maybe that change was a bad move.

Link to comment
Share on other sites

 

3 minutes ago, ChinRey said:

A 1024x1024 is still 4MB VRAM though. It doesn't take more than a few thousand of them before even 8GB VRAM is insufficient.

But you shouldn't ever be loading a few thousand full resolution textures. It can take quite a bit of work to push the viewers actual texture allocation over 2GB under normal use. The Linden viewer still ships with 512MB maximum VRAM. 

3 minutes ago, ChinRey said:

However, LL switched from Kakadu to OpenJPEG a few years ago. According to fastcompression.com  Kakadu's decoder is almost twice as fast as OpenJPEG's for lossy compression images so maybe that change was a bad move.

The LL viewer and Firestorm both still use KDU, see your viewers help > about.

m81wHLW.png

Compression benchmarks can be misleading the case of SL textures, they are often too small for the decoder to fully get out of bed.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Coffee Pancake said:

But you shouldn't ever be loading a few thousand full resolution textures.

That's true but unfortunately should is the keyword here. It's not unusual for an SL scene to have a crazy number of textures especially if there are many avatars present.

 

4 minutes ago, Coffee Pancake said:

The LL viewer and Firestorm both still use KDU, see your viewers help > about.

Oh, they switched back again then. In that case there's much that can be done about the decompression time. There is no faster alternative unless they want to write their own decoder from scratch,

Link to comment
Share on other sites

4 hours ago, Jennifer Boyle said:

For years, I have read in the forums about how use of large textures causes more lag, and about how common it is for people to use large ones when smaller ones would work as well. Recently, I was thinking about this, and it occurred to me that the is no direct incentive to not do that. Many uploaders don't know how large a texture they need, and don't want to take the trouble to figure it out, so I think they just upload a 1024x1024 to be safe, since it costs the same.

Generally, people respond to incentives. I don't know how much it would help, but I'll bet it would help if there were a significant difference in cost, something like this:

1024x1024     L$64
512x512         L$32
256x256         L$16
128x128         L$8
64x64             L$4
32x32             L$2

 

It's not the worst idea. Remember that texture uploads aren't revenue for LL directly, they are removals from the system of Linden dollars which tighten the money supply -- which they artificially control.

Yes, there is a way even on the regular SL viewer to see whether a texture is 512 or 1024 or 2048 for that matter, but it's cumbersome. It involves finding and going through various screens and is not instant. So when something is not instant, it's hard to justify charging for it and forcing people to use it not to be clipped.

The texture uploads add up terribly. In the month of Fantasy Faire when I was uploading tons of textures making my amateur goods badly (and while the beta grid was broken then I would not likely have gone to it anyway because it's yet another annoyance to find and do), and because search is broken and I had to do a lot more ads, portals, sign posts, I racked up a whopping 1,700 texture uploads as I could see on "My Accounts" on the Excel sheet. That's 1700L x 10L = 17,000L or US $68. That's a significant chunk of change. Enough to make me now pause before embarking on another amateurish struggle with all those UV maps and shades and whatnot on some piece of furniture. No one needs me to do that except possible mesh model sellers and texture sellers.

Most people won't have that many but even for casual users changing a texture or making a photo or art easel in world, it adds up.

The Lindens were going to have this Premium Bonus Account which I would have bought which promised a discount on bulk uploads. Is that harder to do that these other things mentioned here?

Meanwhile, if you like Vita's 3D ground textures, which are really the best I've found, you quickly discover you can't put them on an island or homestead using the SL viewer, as it will only take 512 on terrain, and simply not let you upload 1024, apparently on the grounds of lag. But if you switch to Cool Viewer or another 3rd party viewer, you can upload them. I haven't found them to be laggy or slow rezzing whereas other things are, like certain big trees.

Profaitchikenz has a point that makes me think of something else: back in the day when this "law" was articulated and we dutifully followed it (at least some of us did), there were only 10 meter prims. So if you made a building 40 m x 40 m, you would have to use 4 boards on each side, and texture each one, and that would add up. Now if you put a texture on a 64 m once, does that affect the lag/rendering issue? I should think it would.

Yesterday I went to an art show opening on this fabulously detailed sim reconstructing a dilapidated German port. And for the 45 minutes I was there, the paintings never rezzed, and much else didn't, either, including the guests' outfits. So it seemed rather purposeless for me except to chat and listen to the DJ's music choices. I came back this morning and I could now see the paintings properly, but the sim was still a long time in rendering, it's quite a building job. I could come back on Cool Viewer, which can make scenes like that render faster, at least for me. Or sit in parts of it and wait for it to render. I find I spend a lot of time waiting for things to rez...

 

Link to comment
Share on other sites

@Coffee Pancakeis quite right, that if incorrectly applied the incentive would have the opposite efect to that desired, but I think the intention of the OP is correct, addressing the obsessive use of the 1024 texture where it adds no value is a noble cause but it is only a small part of a larger problem. Take the small textures and coalesce them into a single texture atlas. 

We've had a number of threads of later about performance this and that, to which I bang the drum about drawcalls and mesh bodies. In a recent discussion, it was noted by @ChinReythat drawcalls do not appear to have a significant impact on non-rigged items and this is because of batching done in the viewer. Faces that share the same set of rendering parameters means that faces can be batched together lowering the overheads. One of the key components of "sharing the same parameters" is having the same textures bound. Thus if we take 4 512 textures that are used on separate mesh faces on the same item and merge them into one 1024 we have just reduced the rendering cost to 25% of what it had been before. Fewer textures, more reuse leads to better performance.

Smaller textures will have some benefit too, but mostly conjunction with reducing the numbers. It is a lot less clear, and indeed far more subjective. My blog posts show in detail how the drawcall overhead affects everyone from the fastest to the slowest machines. It is a very direct assault on your FPS that can be measured. texture load is rather less obvious. yes we have to download them, we have to decompress them and we have to hold them in both RAM and VRAM, but how that affects your FPS is most unclear.  fetching and decompressing of images happens in parallel to the main thread, image size affects the time it takes for an item to go from dirty grey to full-colour but it does not slow you down in terms of frame rate. where the water gets muddy is in the shuttling of data to and from to the GPU, there is undoubtedly a cost to this and smaller is better. How much better is not something I have been able to measure. The main cost is thus the bandwidth and with increased VRAM size and the viewer ability to use this that can be addressed to some extent. 

 

1 hour ago, ChinRey said:

What??? I don't know about Snowglobe but I'm pretty sure Snowstorm based viewers do that already, although it's fairly late in the rendering process. @Beq Janus, can you confirm this?

Yes the viewer has what are known as "discard" levels, these are effectively LODs for textures or CPU-side mipmaps. In fact when the viewer is requresting a texture it does so by pulling progressively higher resolution versiosn as needed. The "need" is determined by screen space.  However, I remain unconvinced that this actually works properly, testing this is on my TODO list i fact. I have a suspicion that the viewer is getting the sie wrong and does not scale back as things get smaller properly. 

The prioritisation of which textures to draw also seems to be rather open to be improved.

  • Like 5
Link to comment
Share on other sites

One idea that I have proposed before is to give all the sizes for a single upload fee. Given that (excuse the broad sweeping generalisation here .....) most people upload at the highest resolution, the space cost of providing all the lower power of two textures is an extra ~33%.

How does this help? It allows people in one fell swoop to upload a texture and try the lower resolutions out to see whether the full size one was really needed or not.

At the moment, those of us who try to be sensible with textures will do this either through local textures or perhaps the beta grid. More often than not we'll just upload a range of sizes and try them out. Making them readily available would be a big incentive to creators to try them out as they have not incurred additional cost or upload time/hassle. Perhaps we could even buy items that allow us to pick the texture resolution we'd like to have in use?. 

  • Like 3
Link to comment
Share on other sites

6 minutes ago, Beq Janus said:

One idea that I have proposed before is to give all the sizes for a single upload fee. Given that (excuse the broad sweeping generalisation here .....) most people upload at the highest resolution, the space cost of providing all the lower power of two textures is an extra ~33%.

Is there any chance of extending the Firestorm 32-bit option to limit textures to 512 so that the 64-bit viewrs can take advantage of it? Or is reducing the texture size not a cache-storage operation but a GPU-loading one and so would further increase the processing?

  • Haha 1
Link to comment
Share on other sites

3 hours ago, Ayeleeon said:

There are several Sims dedicated to art, full of art galleries run by SL artists. I doubt all of these would continue if suddenly it cost 64L to upload a 1024x1024 texture, that already is reducing the resolution of the original quite a bit.

I would, but I'd have to raise my prices. I already sell for dirt cheap compared to the time I spend creating all original one-off works, but if it did cost 64L more I'd simply mark up by at least that to cover the added upload.

  • Like 2
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 915 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...