Jump to content

To all mod authors: useless white Alpha channels


MentalGear

Recommended Posts

Why do all mods here have useless purely white Alpha channels in their DXT1 textures?

I ask this because as far as I'm informed fact is: they do nothing except double the filesize and only strain the graphics card without benefit.

I've found them in almost every mod here.

Another mistake often seen in texture mods is that they use awkward filesizes(way too big). If you take a look at the vanilla textures you'll discover that there are fixed filesizes for certain resolutions. That is because games with .dds texture file format use the DXT1/DXT3/DXT5 standard. So if you know about this system you'll ALWAYS end up with the same filesize for a certain resolution; e.g. DXT1 textures without Alpha channel 2048x2048 always have 2731kB.

The last days I took some time to remove all those needless purely white Alpha channels in DXT1-textures and resave the wrongly formatted files (not saved in DXT standard). The size of my texture folder is down from 15,3GB to 13,7GB, no quality loss and less strain for the GPU.

So if you own Photoshop+Nvidia dds plugin and want to make you texture folder slimmer while preserving the same quality, open your addon textures and look for PURELY white Alpha channels in DXT1 textures, delete them and save.

Edited by Mental Gear
Link to comment
Share on other sites

They dont strain the gfx card unless you turn on the alpha chan in the NIF do they? I mean why would the game retrieve information that it doesnt know it should use?

 

(not that I disagree about it being unessecary, just asking out of curiosity)

Edited by Nalim666
Link to comment
Share on other sites

It strains the graphics card by making it load a larger texture than is necessary. It doesn't make a big difference in a single texture, but multiple textures add up, and you'll get a scene that costs half again as much bandwidth as it should.
Link to comment
Share on other sites

If the texture contains a needless white Alpha channel it is double as big as it would be without it. For a 2048x2048 texture that would mean the GPU has to load 5462kB instead of 2731kB. That multiplied, as ishmaeltheforsaken correctly said, by a hundred or a thousand makes up for quite a noticable amount of additional data to load. We know Skyrim has a very high number of textures and texture mods.

It gets worse, because you can save .dds files in other modes than the 8bits per pixel DXT mode, like 32bpp, 64bpp even 128bpp modes. The game decompresses and interprets the .dds files in DXT mode anyway so you don't gain image quality by using other bpp modes. By doing this the .dds files get bloated up to being 8x as big :ohdear: . Got some mods than contain 200+ files(and what a pain it was to correct them), every one being 4x as big as they should be. So imagine your graphis card loading something like 16MB for a single object and then you have a scene in your game which maybe contains a hundred or more objects and the VRAM simply can't handle the additional data anymore at some point.

On an online site for simulation racing we have the same problem. A lot of users upload their own car skins and the site's server has hundreds of different dds. files to cope with when running an online race with maybe 26 drivers. And because most users sent in files with the same white Alpha channel errors, the admins there now have to check every file for those errors to make the online game run smoother.

Edited by Mental Gear
Link to comment
Share on other sites

If the texture contains a needless white Alpha channel it is double as big as it would be without it. For a 2048x2048 texture that would mean the GPU has to load 5462kB instead of 2731kB. That multiplied, as ishmaeltheforsaken correctly said, by a hundred or a thousand makes up for quite a noticable amount of additional data to load. We know Skyrim has a very high number of textures and texture mods.

It gets worse, because you can save .dds files in other modes than the 8bits per pixel DXT mode, like 32bpp, 64bpp even 128bpp modes. The game decompresses and interprets the .dds files in DXT mode anyway so you don't gain image quality by using other bpp modes. By doing this the .dds files get bloated up to being 8x as big :ohdear: . Got some mods than contain 200+ files(and what a pain it was to correct them), every one being 4x as big as they should be. So imagine your graphis card loading something like 16MB for a single object and then you have a scene in your game which maybe contains a hundred or more objects and the VRAM simply can't handle the additional data anymore at some point.

On an online site for simulation racing we have the same problem. A lot of users upload their own car skins and the site's server has hundreds of different dds. files to cope with when running an online race with maybe 26 drivers. And because most users sent in files with the same white Alpha channel errors, the admins there now have to check every file for those errors to make the online game run smoother.

 

Question to all this then. I've had these problems aswell, HOW do i go about when saving the file as sometimes when i remove the alpha, and save as DXT1. If I close and open the file, the alpha is still there.

Link to comment
Share on other sites

Question to all this then. I've had these problems aswell, HOW do i go about when saving the file as sometimes when i remove the alpha, and save as DXT1. If I close and open the file, the alpha is still there.

 

I can only say it for PS CS3 where there is a little bug when saving DXT1 format without Alpha channel. If I directly select DXT1 w/o Alpha I get this bug where an Alpha channel with some thin black articfacts of the original texture is added.

If I use the dropdown menu of the Nvidia dds plugin and select some other saving mode and then move the cursor to the DXT1 w/o Alpha option it will be saved correctly without an Alpha channel.

 

As for Gimp and other software, I'm not sure. I've read that they do not have all the options available when saving DXT modes which could be a cause for all those useless white Alpha channels. Somebody correct me if you're familiar with Gimp and its DXT saving options.

Link to comment
Share on other sites

A current issue with the latest DDS Nvidia plugins is that DXT1 no alpha has a bad habit of saving with an unwanted white alpha channel. This issue does not occur with earlier versions of the plugin. I discussed this with a fellow mod author Mr Dave who confirmed the problem.

 

Personally I'm now using ATI's Compressonator because it does as its told and does not save unwanted alphas.

Link to comment
Share on other sites

Personally I'm now using ATI's Compressonator because it does as its told and does not save unwanted alphas.

 

Great info. Will take a look into that tool. I suspect you first create the .psd-file then convert it into TGA and the load it into the ATI tool?

I just put on this link for a Compressonator tutorial, if you know better ones please tell us.

http://www.katsbits.com/tutorials/textures/making-dds-using-ati-compressonator.php

 

Download:

http://developer.amd.com/tools/compressonator/pages/default.aspx

Edited by Mental Gear
Link to comment
Share on other sites

Mental Gear: AMD Developer Central too.

 

http://developer.amd.com/tools/compressonator/pages/default.aspx

 

Yes best to convert the file to TGA. I still do normal maps in Photoshop with Nvidias tool because DXT5 isn't bugged. The Compressonator is really easy to use. Load up texture. Select the generate mip maps at the top of the menu, select compression, choose the compression type, wait and then go to file and save compressed.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...