South8028 Posted February 15 Share Posted February 15 10 hours ago, niston said: Texture block compression is only tangentially related to BGS Creation Engine: In case of BC7*, it is supported by Direct3D 11, which is a subsystem of DirectX 11 and relies on implementation in Direct3D Feature Level 11.0 compatible GPU hardware**. Creation Engine then "merely" uses Direct3D for rendering. *BC1-3 otoh were supported already by D3D 9. Later, D3D 10 added BC4/BC5. **Yes, there is -and must be, for performance reasons- hardware support for texture block compression: Texture block compression works by clustering Texels into 4x4 blocks (hence block compression) and compressing these blocks individually, reducing the effective bit count needed to (approximately) represent every Texel block while still allowing random access to individual blocks. It was initially designed by S3 company as S3TC, to reduce VRAM needs of "large" (by 1999ish standards) textures. As a consequence of this requirement, block compressed texture is loaded into VRAM with block compression still applied. It is only decompressed by GPU itself, at the block level and on the fly, as needed. This is in stark contrast to BA2 compression, which is always decompressed entirely by the CPU when loading texture or other file from compressed archive on disk. I still don’t understand... does ba2 speed up resource reading, or slow it down? If it slows down, then maybe it makes sense to get rid of the archives altogether and unpack everything? Link to comment Share on other sites More sharing options...
xrayy Posted February 16 Share Posted February 16 bsa is just a packed mod or source file load mechanism structure. the purpose is to load files faster and in best case to unpack texture files faster in an optimized way. in the creation engine it is also used to fast(er) load mipmapped dds texture files to be able to display them in an early not even fully loaded stage during gameplay. dds textures look in this stage (not all mipmaps available) blurry. as said years ago this bsa feature was also helpful to accelerate game texture loading. memory and vram was slower and it reduced loading times significantly. in the meantime file loading is so fast (due to ssd, ddr6 vram and ddr4 ram and better) that the difference between texture loading with bsa and non bsa texture loading is still measurable but practically does not affect texture loading times significantly anymore. i mostly unpack my sse and fo4 bsa packed sse and fo4 mod files and it has practically no significant impact in file loading times for me. also the bc7 dds texture packing and unpacking times compared to older formats is insignificant in the meantime and no reason to avoid this superior texture format in beth games. the texture quality gain is huge (for example no more arefacts or blocky eyes, skin, clouds anymore) i tested this empirically with newer hardware over the last 6 years. much more important is the use of the texture mipmap feature included in the dds texture format to accelerate loading times and enhance display quality during game play. not using mipmaps has still significant negative impact in texture file allocation, rendering and loading times. Link to comment Share on other sites More sharing options...
South8028 Posted February 16 Share Posted February 16 19 minutes ago, xrayy said: bsa is just a packed mod or source file load mechanism structure. the purpose is to load files faster and in best case to unpack texture files faster in an optimized way. in the creation engine it is also used to fast(er) load mipmapped dds texture files to be able to display them in an early not even fully loaded stage during gameplay. dds textures look in this stage (not all mipmaps available) blurry. as said years ago this bsa feature was also helpful to accelerate game texture loading. memory and vram was slower and it reduced loading times significantly. in the meantime file loading is so fast (due to ssd, ddr6 vram and ddr4 ram and better) that the difference between texture loading with bsa and non bsa texture loading is still measurable but pratically does not affect texture loading times significantly anymore. i mostly unpack my sse and fo4 bsa packed sse and fo4 mod files and it has practically no significant impact in file loading times for me. also the bc7 dds texture packing and unpacking times compared to older formats is insignificant in the meantime and no reason to avoid this superior texture format in beth games. i tested this empirically with newer hardware over the last 6 years. much more important is the use of the texture mipmap feature included in the dds texture format to accelerate loading times and enhance display quality during game play. Thanks for the explanation. No, I don't want to use bs7 simply because I think it's unnecessary specifically for fo4. This is not a game where you expect photorealism, and no amount of textures will change that (for now, maybe one day after an engine update, that will change). The difference between not bad and a little better is not of much value to me. Also, I make models in 3ds and bs7 is inconvenient for me, since bgs shaders in 3ds do not support bs7. I don't want to make separate textures for 3ds. Link to comment Share on other sites More sharing options...
Recommended Posts