Jump to content

Can I check the file size of an uploaded texture?


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

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

Recommended Posts

Click on the texture to get the pixel size. It will be visible on the texture window and also in properties from inventory.

SL textures are constrained to powers of 2, so 32, 64, 128, 256, 512, and 1024 are the target numbers. A larger texture will be scaled down to the closest power of 2 for each dimension (vertical and horizontal) - if you upload something that's say 768 x 1030, the result will be 512 x 1024. Photoshop and GIMP are better at scaling than the texture uploader so use them to get to the right size.

Memory skyrockets with size - a 1024x1024 requires 4x the date of a 512x512, so optimization is all about using textures appropriately and keeping the large ones for when it really counts. Sticking to the powers of 2 numbers helps in getting the clearest image for the size.

Check the wiki, forum archives and blogs for other ways of phrasing this. Some might even have pictures. :)

Link to comment
Share on other sites

6 hours ago, Nutria2016 said:

Since SL automatically converts PNG images to JPG, is it possible to examine an uploaded texture on SL to check the file size for optimization purposes?

Not directly. But the file format is Jpeg2000. Download the texture and convert it to that and you should have a fairly good estimate.

Link to comment
Share on other sites

Just like a webpage the larger the file size the longer the download. 

If you have a piece of jewelry with four 1024 textures it will take UNNEEDED time for that texture to download. You can easily put all those textures into ONE - 512 texture or smaller and get the same look. So you are penalizing people as their viewer's have to work harder for no visual gain. 

If you have a HOUSE with four 1024 textures  then (with baked mesh anyway) that is needed to get the clarity that people will see. Both the house and the jewelry have the same texture load.  Saving (exporting in my graphics software) textures with unneeded alpha channels can cause issues inworld AND adds extra download time. So use alphas when you NEED alphas. 

I see Whirly has replied so likely more techie info there :D.    

 

***************************

 

OK I am going to comment on the chart up above me.

Good chart, makes a point but not NECESSARILY for all cases. Going back to the house example  of baked textures for mesh objects -- if you can get the exterior wall texture, window frame texture, door wood and metal, cement, steps, light fixture (etc) all on one 1024 texture -- then it makes sense to do that. The server is also only making ONE call for the download rather than one for each 512 or 256 texture. Those same materials are actually taking up LESS room on the one larger texture.

 

This isn't the best example of what can be done but the one I could find fastest to give a visual idea of what I mean. Five materials (different textures) on one texture plane,  This makes much more sense to me than say using five 512 textures on a bracelet :D. 

steps_door_railing_city_vic1024.thumb.png.6b7574cc59a59323778e54863c990cdb.png

 

Edited by Chic Aeon
adding info and picture
  • Like 1
Link to comment
Share on other sites

The sizes in that table Whirly posted appear to be uncompressed bitmaps, which seems representative of what's buffered in graphics card memory. For file transfer, the larger the file the greater the possible compression, but still high resolution textures mean delay.

It's not as if we can revert to pre-mesh, but ever since sculpties the cost of texturing SL has jumped dramatically because every surface tends to be a unique unrepeated (1x1) texture. Because they're unique, the value of a large cache is diminished (you'll only encounter the texture on other instances of the very same item) and because they're at 1x1 repeats, there's huge pressure to use higher resolution to look even reasonably sharp at larger scales.

There's potential to get better results layering smaller, repeated textures combined with more sophisticated rendering of materials and lighting, but that shifts processing to the viewer machine -- a non-starter when many viewers aren't enabling even the existing Advanced Lighting Model and shadows.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

OK, so I do understand the file size issues correctly, at least as presented here. Now to work on how to communicate in such a way it might one day be recognised by forum regulars.

As for the OP, I'd just start to convert to JPEG in GIMP and note file size (along the way I might wonder which JPEG, consult the wiki and run across the charts). My apologies for thinking your question was about the things SL does on upload.

Link to comment
Share on other sites

I once asked Soft Linden in a group chat what compression ratio LL is using for JPEG2000 textures. But he didn't know off-hand, but said that there may be various ratios in place.

As has been pointed out already, the compressed file is only relevant for downloading performance, and has nothing to do with the actual uncompressed memory consumption as shown in the tables.

  • Like 2
Link to comment
Share on other sites

5 hours ago, Bitsy Buccaneer said:

As for the OP, I'd just start to convert to JPEG in GIMP and note file size (along the way I might wonder which JPEG, consult the wiki and run across the charts).

I think it's time for a reminder about one of the most common misunderstandings in computer graphics: JPEG and JPEG2000 are not variants of the same file format, they are about as different from each other as two graphic file formats can be. The only thing they have in common is that both were developed by and named after the Joint Photograhics Experts Group.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Does it really matter if one knows that, Chin, as long as uses the right one in the end? I would see the different tags, not know which to choose and go look it up. So I would get the correct one even if I didn't know a thing about the history. That might not be good enough for you, but can it please be good enough for people like me?

Link to comment
Share on other sites

I'm wondering, modern computers have advanced a lot through these past 10 years. Is it really bad if someone exclusively uses 1k textures for objects such as furniture and decor? In fact, most games today have moved on to 2k textures.

Edited by Nutria2016
Link to comment
Share on other sites

1 hour ago, Nutria2016 said:

I'm wondering, modern computers have advanced a lot through these past 10 years. Is it really bad if someone exclusively uses 1k textures for objects such as furniture and decor?

Yes, it is really bad and - ummm... looking at the banner in your signature .... you can not honestly market your items as "High Quality" if that's the way you do it. In 3D modelling for dynamic environments high quality is always all about resource management. Making something that looks great in Second Life is easy. Making something that looks great in Second Life without lagging down everybody's computers - that's the challenge.

If professionally made games use 2lk - or even 1k - textures, it will only be a few ones for special upfront feature details and, of course, also for several low res images combined into a single file.

Even more important, a computer game will only use a tiny fraction of the number of textures you typically get in SL. In a crowded SL scene it's not unrealistic to have several thousand textures that need to be loaded at the same time. In a game it's much less than a hundred.

Edited by ChinRey
Link to comment
Share on other sites

A good way to determine which texture size would be appropiate is to establish a target texel density for your assets. Typically in Second Life it should be on the lower side indeed.
As always, there are exceptions in one direction or the other. But it helps to give up on high res textures more easily, if you maintain a consistent look and feel, rather than just having so called high quality textures all around.

Here is a little scene with some furniture, and props.
Texel-Density-01.thumb.jpg.57e065f9e2f2164082676fef3e351206.jpg

 

To maintain a consistent look, I tried to keep the texel density pretty much the same for each model, within a tolerance of roughly plus/minus 15%. The image shows the assets with some checkered textures of various sizes.

Texel-Density-02.thumb.jpg.380004d8ead50a3acfbfd2dd6a2d5c7f.jpg

As one can see, to keep the texture resolution more or less the same across the assets, there will have to be various texture sizes to be used. There are some models with a bit larger squares, which means they have a little less texel density. But it's not enough to justify a larger texture IMO.

Texel-Density-03.thumb.jpg.1c8f3b009ded958b721b9b497b81e767.jpg

 

Now, if I would just use 1k textures all around, lets say I put a 1k on the chair, instead of a 512², the desk would require a 2048 x 2048 already to maintain the same texel density. In Second Life that would mean that the desk would have to be split into 4 materials, with four 1k textures applied. Which would be overkill for sure.

Texel-Density-04.thumb.jpg.d942df5645a52639f4a756e04b444b35.jpg

Edited by arton Rotaru
  • Like 5
Link to comment
Share on other sites

5 hours ago, arton Rotaru said:

A good way to determine which texture size would be appropiate is to establish a target texel density for your assets. Typically in Second Life it should be on the lower side indeed.

I don't know if Arton's post needs further explanation but just in case, the basic idea is of course that no chain is stronger than the weakest link. It's the surface with the lowest pixel density that sets the overall level of texture detail so there's no point wasting pixels on the other details.

But perhaps just as important is the visual consistency. An item with a considerably higher pixel density than the surroundings can easily become an eyesore, ruining the effect of the scene as a whole.

Also, a completely different reason for not overdoing the texture resolution is that we have very harsh shadows in SL. Lower texture resolution can often compensate for that by softening the looks a bit.

 

6 hours ago, arton Rotaru said:

As always, there are exceptions in one direction or the other.

There are always exceptions. ^_^

I think two of them should be mentioned:

"Soft" texture with little contrast will usually need lower pixel density sharper ones.

And if you really want to create quality virtual environments, you have to think in layers: foreground details withsharp details, backgrounds as soft as possible and lots of nuances in between. A Second Life scene is usually a battlefield of confilciting visuals, every single item, every single avatar is trying to be the centerpiece. I've sometimes compared it to a band where everybody tries to play the solo guitar and nobody wants to play bass or drums. THre's no harmony whatsoever and that is far more ruinous to the looks than low resolution textures can ever be.

  • Like 1
Link to comment
Share on other sites

Well thank you all for your responses. I've decided to do some revisions to the project I'm working on for the sake of the user. As much as I would like to see my objects as detailed as possible, I understand that in the end it's performance that matters.

Link to comment
Share on other sites

 

16 hours ago, Nutria2016 said:

As much as I would like to see my objects as detailed as possible,

I suggest you study the works of some of the real texutring experts in Second Life, such as Arton and Ex Machina builder/owner Hattie Panacek. There's a lot to learn from them, those people can squeeze more lovely details into a 256 than ost of the fashionable big selelrs can manage with a 1024. That is the true art of texture making.

I'm not sure if I should write this but I ... can't ... resist.

I came over a really good (or bad rather) example of texture abuse today. A friend of mine bought a mesh staircase for his house and it came with this texture:

59ff612b2ccf6_Texturingmadness3.thumb.png.64cf0c25dba027caa846df02e71e7e80.png

This is a screenshot of it, not the actual texture to show a bit more details. It's essentially all white only with some very basic shading for the risers and the effect could easily have been done with a simple 512x256 gradient and the standard 32x32 blank texture. Yet it is a 1024. It is also a rather messy UV map and as if that wasn't enoguh, it's a rouge alpha even.

So whoever made it committed not just one but three of the Seven Deadly Sins of Texture Making. One such item isn't going to make much difference of course but this kind of lunacy (and yes, lunacy is the right word here) is far too common in SL and that, perhaps more than anything else, is what lags us all down.

  • Like 1
Link to comment
Share on other sites

On ‎4‎/‎11‎/‎2017 at 7:01 PM, Nutria2016 said:

I'm wondering, modern computers have advanced a lot through these past 10 years. Is it really bad if someone exclusively uses 1k textures for objects such as furniture and decor? In fact, most games today have moved on to 2k textures.

 

On ‎4‎/‎11‎/‎2017 at 8:02 PM, ChinRey said:

Yes, it is really bad and - ummm... looking at the banner in your signature .... you can not honestly market your items as "High Quality" if that's the way you do it. In 3D modelling for dynamic environments high quality is always all about resource management. Making something that looks great in Second Life is easy. Making something that looks great in Second Life without lagging down everybody's computers - that's the challenge.

If professionally made games use 2lk - or even 1k - textures, it will only be a few ones for special upfront feature details and, of course, also for several low res images combined into a single file.

Even more important, a computer game will only use a tiny fraction of the number of textures you typically get in SL. In a crowded SL scene it's not unrealistic to have several thousand textures that need to be loaded at the same time. In a game it's much less than a hundred.

Well...Current gen games use 2K and 4K textures all the time - its all about texel density as Arton says. You might have several hundred maps in an environment when you account for diffuse/normal/gloss/AO channels. 

But what current-gen games can do is completely irrelevant to SL :)

 

Link to comment
Share on other sites

  • 2 weeks later...
On 11/5/2017 at 3:18 PM, IvanBenjammin said:

 

Well...Current gen games use 2K and 4K textures all the time - its all about texel density as Arton says. You might have several hundred maps in an environment when you account for diffuse/normal/gloss/AO channels. 

But what current-gen games can do is completely irrelevant to SL :)

 

A lot of people say things like this, and they're partially correct, but to leave it at that is to leave out a lot of important context.

When current gen games use 2K and 4K textures, it's frequently as a combined texture for multiple in-world surfaces, or for closeup textures which are used in very limited cases where the overall amount of texture data is reduced.

Videogames also tend to use a lot of other tricks to reduce VRAM usage. When you go inside a building in GTA or Fallout, you enter a completely separate map. Textures and models used outside in the street are completely flushed from memory leaving only the content of your immediate surroundings. Similarly, level maps are chopped into pieces to achieve the same effect.These days game developers have gotten very good at hiding map loading but it's still there and it serves the same purpose, to keep only a limited amount of data in VRAM so your framerates remain high. For cutscene events, games will sometimes place you in an instanced version of the game map with parts of the world you cannot see in the cut scene entirely cut out so they're not taking up memory, to make room for higher res textures and more detailed models. In first person shooters, the version of a weapon you hold is a much more detailed version of the in-world or third-person version of that same weapon. In Fallout, the pip-boy model you stare at to interact with menus is a much more detailed version of the pip-boy than the one seen on the third person character model.

 All of this is done to limit the amount of textures and other art assets that have to be held in your videocard's memory at any one time. A few of these tricks can be replicated in SL (like putting building interiors into skyboxes placed well outside of draw distance from the exterior environment) but so few SL users try to use these techniques because they're unaware of the problems they're creating for themselves.

 In videogames you also typically have all assets on-disc. Either on the game disc or your hard drive. This drastically reduces load times compared to SL where when a texture is forced out of your VRAM and cache due to "texture thrashing" (which occurs because SL is throwing too many textures at you) you are constantly downloading and re-downloading the same textures over and over again.

 When you compare videogame texture use to Second Life texture use you really have to keep all of this in mind.

  • Like 2
Link to comment
Share on other sites

17 hours ago, Penny Patton said:

When current gen games use 2K and 4K textures, it's frequently as a combined texture for multiple in-world surfaces, or for closeup textures which are used in very limited cases where the overall amount of texture data is reduced.

Yes, textures get reused as much as possible. But, its about texel density, like was said before, and 10/cm is common (that's 1024 per metre, or 1 per mm). MIP-mapping will take lower resolution versions, depending on the situation. A door might have multiple 2K textures (when accounting for normal/gloss etc), but unless you're right up next to it, only a fraction of that resolution is actually getting computed by the renderer.

17 hours ago, Penny Patton said:

In first person shooters, the version of a weapon you hold is a much more detailed version of the in-world or third-person version of that same weapon. In Fallout, the pip-boy model you stare at to interact with menus is a much more detailed version of the pip-boy than the one seen on the third person character model.

 

17 hours ago, Penny Patton said:

For cutscene events, games will sometimes place you in an instanced version of the game map with parts of the world you cannot see in the cut scene entirely cut out so they're not taking up memory, to make room for higher res textures and more detailed models.

It's typically the same textures, just different MIP levels and mesh LODs being rendered - There's no sense doubling up on what's being stored in RAM. You're correct regarding cutscenes, though usually its the same location in the game space,  just overriding the normal rules of which MIPs and LODs to compute. In linear games, they're often used to purge assets from the previous environment and preload the next.

MIP-Mapping is used in SL, too, but it's not as efficient because of the downloading/caching issues you mentioned. SL also hamstrings itself with its unrestricted camera. Generally speaking, the more restricted the camera, the easier the job for the artist(s).

Sorry to be "that guy" and reply point-by-point. I'll concede that its not completely irrelevant what modern games can do, but so many of the tricks and efficiencies can't be used or don't apply to SL, and the potential bottlenecks are different.

Here, the rules are pretty simple: use texture space efficiently, reuse textures as much as possible, avoid alpha blending as much as possible. Those rules hold true for game development, but there are a bunch more "yes with an if, no with a but..." caveats. 

  • Like 1
Link to comment
Share on other sites

1 hour ago, IvanBenjammin said:

Sorry to be "that guy" and reply point-by-point. I'll concede that its not completely irrelevant what modern games can do, but so many of the tricks and efficiencies can't be used or don't apply to SL, and the potential bottlenecks are different.

 I wasn't trying to argue with you, only add context to your statements.

I never said that all of the same tricks could be used in SL, my entire point was that they can't and that you have to take that into account. If you leave it at "well modern games use much bigger textures than we can upload to SL" I guarantee there is a content creator out there right now who is reading it and believing that statements justifies them in giving each tiny button on their mesh jacket its own unique 1024x1024 texture, normal and spec map, all with unused alpha channels they don't even use because they don't see the harm. That's why I feel it's important to give that extra context.

SL is essentially an OpenGL videogame engine that we can all create content for. We have all the same memory issues to contend with (and a few more, besides), but not all of the scene optimization tools a modern game dev has at their disposal. We need to keep those memory issues in mind, as well as what we can and can't do to mitigate them. The texturing rules you bring up are spot-on. I'd add to that a reminder to make sure textures do not have an alpha channel if the texture doesn't use it, it's just wasting memory.

While we can't take complete control of a visitor's camera and have sections of the build purged to free up memory for higher detail scenes, we can use tricks like breaking environments up into separate maps (or skyboxes) and connecting them with teleporters disguised as doors/cave entrances/etcetera. I use this trick in every build I work on, whether it's a small 500 prim club or a full RP sim, and it does wonders for performance.

 This might become more important to people in the future, I've heard rumblings from LL that they're considering employing more resource management tools for avatars and environments in the coming year. Better to start optimizing your content now, before LL rolls out an improved jelly doll feature or raises land impact costs for memory intensive content.

  • Like 1
Link to comment
Share on other sites

Just to add a little bit of perspective to this, according to wikipedia's article on display resolution (https://en.wikipedia.org/wiki/Display_resolution), only about 5% of Steam users and less than 3% of internet users in general have a computer screen larger than FHD - 1920x1080 pixels. That means if you actually want to render all those pixel on a normal computer screen, it would fill up pretty much the entire screen.

Of course, there are several reasons why we may want to use resoutions higher than what is actually displayed but even so, it's food for thought.

Speaking of image resolution, how about 60,000x36,000?

Edited by ChinRey
  • Like 1
Link to comment
Share on other sites

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