the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Hardware, Textures, and Fallout 4

This is a work in progress. Information-gathering and fact-checking will be ongoing. Also making it all look prettier.

Here is Kinggath's video regarding setting up your environment for dealing with textures, nif's, material files, etc - basically setting up your system to be messing around with textures and the like:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

Topics:
  • Textures & XBox
  • Mipmaps
  • What Size Should I Use?
  • What You See
  • Hardware
  • Gimp and Photoshop
  • Elrich

More categories will be explored as I learn more. Rearranging is highly likely.
 
Last edited:
Textures and XBox

Textures

According to damanding:

* If your textures DO NOT include alpha, save the file as DXT1.

* If your textures DO include alpha save the file as DXT5.

* Normals are almost always DXT5 since they have alphas for the shine values.

* Speculars usually are DXT1.

* Skin files are BC7

XBox

* BCx files won't compress at all on XBox but DXTx will

* XBox can run BCx files, they just take up more space and have worse performance

* And always generate mipmaps for XBox

Some Translation:

* Textures - Color or "diffuse" Textures, the colors that appear in the game.

* Alpha - this is for transparent parts of a texture, like seeing through holes in a flag or a piece of clothing (like the holes in a belt).

* Normals - Normal Maps, this is a way for a texture to describe 'bumpiness' and shadows. Essentially dips and ridges and various shadows can be described in this type of texture. It effectively determines how smooth things are.

* Specular - Reflection maps, this determines how shiny or reflective a texture ends up looking in the game.

File Conventions in FO4:

Textures, Color "diffuse" Textures - these usually end with "_d.dds"

Normals, Normal Maps - these usually end with "_n.dds"

Specular, Reflection Maps - these usually end with "_s.dds"
 
Last edited:
Mipmaps

From damanding and others:

“And always generate mipmaps for XBox.”

* You definitely want mipmaps. Even if they take up more space, they drastically improve game performance.

* Mipmaps for game performance - that's their purpose.

* Mipmaps were originally intended as a quality-at-a-distance improvement, the game performance came as a side-benefit.

* If you don't generate mipmaps everyone has worse performance, both on PC and XBox.

Question: What is the side-effect of no mipmaps?

* With rasterization (generating on the fly) the game engine says “render this” and the graphics card does a “what pixel in the image” math - it may look odd or different every time that the game has to rasterize that object.

* A good mipmap generator pre-determines “what pixel is important”, making the image look better from a distance.

* Without mipmaps it can look strange from a distance, plus you get really bad game performance. The XBox gurus will recommend that users don't use your mod. This is not because your mod/textures/etc are awful looking - it is strictly from the perspective of game performance reasons, XBox players need as much performance as possible.

From Jonathan, more info:

Things will still work without mipmaps. However the game could be trying to render that 1k texture on a 3 pixel tall building model half a mile away.

Essentially you as a mod author are making the game engine struggle by forcing it to resize your textures on the fly. A lot of non-mipmap textures will drop the player's FPS dramatically while the engine resizes things to cope.

From damanding:

Performance is much more critical on XBox than PC. If you're going to damage the intended performance systems then don't publish for XBox.

While space is a concern (especially with the XBox's 1GB mod limit), mipmaps are too important to do without in exchange for a smaller mod.

Most users would have no way of knowing that your textures will cause reduced performance. Users therefore have no way to provide you with that feedback, that there is an issue with your textures/mod.

Texture sizes, damanding:

Never publish 4k for XBox. 2k is the max and should be used rarely.

Have you ever noticed an object with a somewhat blurry looking texture that then suddenly looks detailed? That's the mipmaps at work.

(Whisper) An addition - if the item is small (like a bottle size?) then you don't need 1024 or 1k size - 512 or 1/2k size should be plenty. (Probably less is needed - players aren’t going to be regularly looking at a bottle, fuse, screwdriver, wrench, etc at close range - it’s a waste of space plus causes their hardware to struggle loading large-sized textures.)

How the game loads textures, damanding:

The game loads the mipmaps first and then the full texture as you're closer. If it's having to load the full texture even from far away, that's worse for performance in general. (This in relation to not using mipmaps in your textures.)

Final summation from damanding:

* (If you have no mipmaps with your textures) Redo all your textures and add mipmaps, everyone will love you for it.

* Also if you're using GIMP, use a recent version of it, older versions of the program broke mipmaps.

Technical Details of Mipmaps

When you get close to a wall, the game has to start magnifying (aka upscaling) the image. Since the basic detail is not there everything gets blurry. The way to fix that is to have a higher resolution image of the wall - at the cost of bigger filesize.

When you get farther away the game starts downscaling the image. When that 1k image only covers a 512x512 area of the screen the graphics card/cpu starts to work. They work harder when things are at 256x256 and 128x128 areas of the screen.

When that area of the screen is only 3x3 pixels size it is doing a lot of calculations to reduce that 1k image down to 3x3 pixels.

To save the computer/console from grinding hard when it tries to render that 1024x1024 image to cover a 64x64 area, the designers of the game did something really smart: they pre-generated lots of smaller images and saved them in the dds file. These pre-generated smaller images are called mip-maps.

Mipmap Size

A texture file of 1024x1024 size is generally around the 1.3 megabyte size.

What the mipmaps do is add progressively smaller images into the same file (so that the system doesn’t have to keep track of lots of files of different sizes).

Each smaller added file is half the screen resolution of the last, all the way down to a 1x1 pixel “image” that is a wall of that 10-story building a mile away in the game. So the standard 1k file packs together a bunch of pictures of these sizes:

1024x1024
512x512
256x256
128x128
64x64
32x32
16x16
8x8
4x4
2x2
1x1

If the original full-sized file was only 1mb size, adding all of these extra images into it will increase the file size by only 1/3rd. This turns a 1mb file into a 1.3mb file - slightly more size and much easier for the game to deal with.

Graphically a file with mipmaps might look like the following (source):

index.php


You will note that all of the images described above are square and in multiples of two. This is a built-in part of the optimization system. While it might seem like a good idea to shave off a little image size by using a smaller image (example: 900x900 base image size) this also breaks the game optimization. It causes the system to work harder, may cause the images to look weird, and might cause game crashes.

Ditto for not making mipmaps at all in your images.

Summary

When choosing what size of texture to put up, take into account the size of the object and how close the player will likely get to it. A 4k 10mm bullet texture (for example - I've not looked to see if there actually is one out there) is humorously silly in this context and is a waste of system resources.
 

Attachments

  • 1632865569263.png
    1632865569263.png
    480.7 KB · Views: 979
Last edited:
What Size Should I Use?

This depends on the importance of the item. (Thanks to kinggath for helping me clarify this in my head.)

Tiny things: eyes, fuse - 256x256 size

Small things: blood packs, bobby pin box, books, brooms, cafeteria tray, handcuffs, holotag - 512x512 size.

It can vary. For example: 10mm ammo
  • Box texture: 512x512, compressed down to 170kb
  • Cartridge texture: 1024x1024, compressed down to 682kb
  • Projectile texture: 256x256, compressed down to 42.8kb
1632870736516.png

(Which leaves me with the perplexed question: Who on earth is faceplanting into a dropped 10mm cartridge to see all that texture? Don't answer.)

The base game is not always consistent. For instance, the Shuckeys Clams refrigerator magnet is 2048x2048 and 5.33mb size:
1632872617299.png


Most of the important stuff is 1k, image compression varies:
1632872685525.png


Did you know that there is a Fanueil Clock? It's only 1024x1024:
1632872810378.png
 
Last edited:
What You See

Background

Most of the base game textures in FO4 are 1k or smaller in size. This means that on a 1920x1080 screen (high settings) the texture of a flat item like a piece of paper will cover 1/2 the screen - a 1024x1024 area. A beer bottle (by contrast) is 256x512 and 170kb size. So put together, the image sizes of these on a standard 1920x1080 screen are:
1632874921142.png


The HD texture pack adds 2k textures. Bethesda got some flack from that - some were not optimized and caused stuttering and crashes. Also things like the Rusty Face, caused by size mismatches in face textures. Not everything was upgraded to 2k. (I’ve seen complaints across the internet about the HD pack not looking that great. There was no real point to upping several items to 2k. I’m not certain if these people realized that.)

When playing on ultra settings, the screen size is 3840x2160 - that means that the 1k texture above will cover 1/8th of the screen and looks like this:
1632875082369.png

At this point there is a case for using 2k textures.

Seen On Screen

To demonstrate how much of a texture is visible on screen, here is a 2k image with a 1920x1080 screen area superimposed upon it:
1632876324936.png


It gets even more extreme with a 4k image on a 1920x1080 screen:
1632876261410.png


Admittedly, in some cases that 2k/4k image will be 'wrapped' in 3d, like around a bottle to provide texture on different sides. Think of a large label on a beer bottle, wrapping around.
 
Last edited:
Recap / TLDR

Size of Textures (sans Compression)

1k = 1.3 megabytes
2k = 6 megabytes
4k = 22 megabytes
8k = 88-odd megabytes

There are technically 3 files which make up a texture:

_d.dds = visual colors etc
_n.dds = normal maps, or texture/bumpiness
_s.dds = shininess, like glossy/metallic

If your texture is full-sized for all three files then you have tripled the size. Some things you can get by without. Others you can get by with a smaller file.

Remember that consoles have a total size 2 gigabyte limit for mods, and 1 gigabyte maximum per mod.. Your textures (all 3) are competing for this space. Even if you can compress down to half size, an 11mb 4k texture is a total of 90 files maximum.

Consoles are also about 85% of the gaming market. (Personal opinion: This will likely increase once the PS5 comes out.)

Translation

Small items of little importance, don’t use big textures. Having a 4k texture for a cigarette is a waste of system resources and makes the user’s computer/console struggle. It’s also not going to be seen - unless the user faceplants into the item on a regular basis.

Seeing a common wall on a regular basis - a decent HD/2k image can improve the user’s game. Ditto for trees, bushes, etc. As above, excess size on an XBox is hard on that system.

If it's like a core important piece of your mod: 2k will probably do well on all screen resolutions while 4k is overkill.

Remember: if it’s not being seen very often while close up, big textures are counterproductive.

Rough Guidelines

Eyes: 256x256 maximum, more is considered overkill.

Face: 512x512 for the base game, 1024x1024 in the HD pack. 2k and 4k are possible - the Rusty Face bug is caused by mismatched face/skin texture sizes.

Clothing, vending machines: 1024x1024 for the base game, probably 2k in the HD pack.

A safe choice is likely to stick within the above guidelines for the HD pack. As an artist and modder you’re free to go all the way to the max. Remember though: you’re both restricting your mod’s audience and forcing the hardware (PC and XBox) to load more from disk.
 
Hardware

Something like 85% of games are played on Console - that leaves 15% for the PC market. Consoles are extremely lucrative to game developers.

As a modder it is your choice whether to cater for console players. Some mods don't have a choice - anything that uses F4SE as an example. Other mods simply require CPU power that the consoles don't have.

Yet. It looks as though Unreal Engine 5 on PS5 will become the first exception:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

For the moment though, there are limitations upon XBox:

XBox One: 1080p (1920x1080) - at 30fps

XBox One X: 4k - all textures forcibly upscaled, at 30fps

XBox Series X: 4k - all textures forcibly upscaled at 60fps for games, 120fps for video playback (NVMe chip drive so asset loading is faster)

You'll note that I do not include PS in this list. That's because at the moment the Playstation cannot have extra assets (meshes, scripts, textures) uploaded with mods. (Personal speculation) We will see what happens in the future - the demonstration of Unreal Engine 5 may place some serious pressure on the Playstation market.

For those of us on PC, using twinned or quad graphics cards and overclocked CPU's at whatever-gigahertz we choose - we are the outliers.
 
Top