-
Notifications
You must be signed in to change notification settings - Fork 3
Example: RimWorld
Encoding textures will make your game load faster and reduce VRAM usage. When fully zoomed in, textures will look better as DDS compression is better than the algorithm used by RimWorld. When zooming out, they will look more defined and less blurry.
By default Rimworld loads your PNG files, generate mipmaps for them, compress them into Unity's internal texture format and copy them to the VRAM. DDS files are compressed in advance and have mipmaps precalculated. Rimworld does not need to do it by itself and thus loads faster.
To use the textures created by todds, you will need to have a mod that enables DDS textures in your modlist, such as Performance Fish, Graphics Settings+ or HighQualityTextures.
todds is a command-line application. It is expected that double clicking on the executable appears to do nothing. You need to launch cmd in the same folder in which you downloaded todds and run it from the command-line.
The following are some examples of what can be achieved using todds. Run todds without any parameters to learn more about its features.
This is the recommended command to encode RimWorld textures.
todds.exe -f BC7 -on -vf -fs -r Textures -t -p "C:\Program Files (x86)\Steam\steamapps\workshop\content\294100"
If you are using an older GPU or run into VRAM issues, you should use the following command instead. The game will also load faster and encoding will take less time. This mode is equivalent to the encoding used by RimPy.
todds.exe -f BC1_ALPHA_BC7 -on -vf -fs -r Textures -t -p "C:\Program Files (x86)\Steam\steamapps\workshop\content\294100"
Encoding with this command will take significantly longer but you may get slightly increased texture quality in some cases.
todds.exe -f BC7 -q 7 -on -vf -fs -r Textures -t -p "C:\Program Files (x86)\Steam\steamapps\workshop\content\294100"
You can pause the encoding process at any point by pressing Ctrl+C. To resume the process, just run todds with the same parameters again. Keep in mind that running todds with -o
(explained below) will always try to encode all textures even if they already exist.
By default, todds will include mipmaps in the encoded textures. Mipmaps are smaller versions of the texture, already calculated and optimized. Mipmaps will increase exture quality when the game is zoomed out, at the cost of increased VRAM usage. You can disable mipmap generation by adding the -nm
option to the commands explained before.
If you want to delete the textures created by todds, run:
todds.exe -cl -o -r Textures -t -p "C:\Program Files (x86)\Steam\steamapps\workshop\content\294100"
If you want to overwrite existing DDS textures, replace the -on
in the encoding commands with -o
. Keep in mind that todds will always try to encode every texture again every time you run it.