Jump to content

About This File

What is this?

The id5Tweaker is a small mod that allows additional configuration of id Tech 5 games. Its features include the option to change the FPS limit, force the value of CVars and additional game specific settings.

 

Overview

Description

Although the id Tech 5 engine offers a surprising amount of flexibility in regards to configurations through its CVar system, it is inconvenient to use because some CVars won't be saved, are restricted or have too narrow bounds (e.g. the FOV in the Wolfenstein games).

 

Additionally, there are some problems that can't be fixed by CVars at all, such as the limit of 60 FPS. While there are some methods out there which supposedly should unlock the FPS, they don't seem to work or ceased to work after the games were patched.

 

This mod aims to make the overall configuration easier while at the same time to offer additional options for certain problems. The mod is used through a set of new console commands which can either be directly entered into in the in-game console or applied by using an optional config file. The Tweaker can change the FPS limit, force restricted CVars without having to use workarounds such as the cvaradd command and push some CVars out of their bounds. It also offers some game specific options.

 

Features

All Games

  • Change FPS limit
  • Force restricted or read-only CVars
  • Push some CVars out of their bounds (e.g. FOV)
  • Bind opening the console to any key
  • Bundle configuration in a single config file
  • Easy to install

RAGE (32-/64-Bit)

  • Bind the use of items to individual keys
  • Bind toggle versions of aim down sights or sprint
  • Disable parts of the HUD (e.g. crosshair or minimap)

Instructions

Supported Games

Important: This mod relies on the latest, fully patched executables of the supported games. Older versions or ones that otherwise have been tempered with very likely won't work. This also includes versions of the games from other regions which I don't own myself. For example, the German versions of the Wolfenstein games probably currently won't work with the mod.

  • RAGE [32-/64-Bit, Global]
  • Wolfenstein: The New Order [Global]
  • Wolfenstein: The Old Blood [Global]

Note: You can find out what version of a a game you have by using one of the methods stated here.

 

Install

Note: The mod does not make any permanent changes to the game or the system and can easily be removed (see below).

  1. Extract the file dinput8.dll to your main game folder. For Steam this in most cases is "Steam\steamapps\common". For example: "D:\Games\Steam\steamapps\common\Wolfenstein.The.New.Order".
  2. (Optional) Place the id5Tweaker.ini config file in the game directory and edit as necessary (see below).
  3. Start the game like you would normally, for example directly through Steam or a desktop shortcut.

Note: There are two versions of the DLL in the zip-file. Since the default version of RAGE is a 32-Bit executable, it needs a separate DLL. The 64-Bit version of RAGE as well as both Wolfenstein games can use the same DLL.

 

Uninstall

  1. Remove or rename the dinput8.dll from the folder of the game.

How To Use

After the installation, the mod gets loaded automatically when you start a supported game. You can interact with the mod by using one of the corresponding console commands (see below). They behave like original commands and can either just be entered into the console or bound to a key by using the bind command. You can also use the optional config file to bundle commands and CVars, which are executed and set each time a level is loaded.

 

The mod also uses the in-game console to print status information every time a command is executed. This output is color coded in super stylish cyan. So if something does not work as intended, look into the console to see if for example the specified command or CVar could not be found.

 

List Of Commands

All Games

 

id5Tweaker_SetFpsLimit value

  • Changes the FPS limit to value
  • Example: id5Tweaker_SetFpsLimit 140

Note: There are some known issues with unlocking the FPS (see below)

 

id5Tweaker_ToggleFps

  • Enables or disables the above FPS limit
  • Can be used to play sections of a game that have issues with high FPS
  • Is in the default config file bound to the '*' key on the numpad

id5Tweaker_ForceCVar name value

  • Forces a CVar with name to value
  • Can be used to set restricted or read-only CVars
  • Extends the bounds for certain CVars (e.g. g_fov)
  • Example 1: id5Tweaker_ForceCVar g_fov 110
  • Example 2: id5Tweaker_ForceCVar r_postProcessDofMode -1

id5Tweaker_Reset

  • Reloads the id5Tweaker.ini config file executing and setting all commands and CVars
  • Is in the default config file bound to the '-' key on the numpad

id5Tweaker_ToggleConsole [0.0-1.0]

  • Toggles the state of the in-game console
  • The optional argument specifies the fraction of the screen being covered by the console
  • Obviously only makes sense when bound to a key

RAGE (32-/64-Bit)

 

id5Tweaker_RAGE_Bind key action

  • Binds an action to key
  • For a full list of actions use the id5Tweaker_RAGE_ListActions command
  • For a full list of keys use the id5Tweaker_RAGE_ListKeys command
  • Example 1: id5Tweaker_RAGE_Bind F use_grenade_he
  • Example 2: id5Tweaker_RAGE_Bind MOUSE2 toggle_zoom

id5Tweaker_RAGE_ListActions

  • Lists all valid actions for the id5Tweaker_RAGE_Bind command in the console

id5Tweaker_RAGE_ListKeys

  • Lists all valid key names for the id5Tweaker_RAGE_Bind command in the console
  • Most key names should be intuitive, such as X, ENTER, MOUSE2 or KP_2

id5Tweaker_RAGE_HideCrosshair [0,1]

  • Hides the crosshair
  • Does not remove interaction info (see below)
  • Works as a toggle when used with no argument

id5Tweaker_RAGE_HideInteractionInfo [0,1]

  • Hides information of interactable things (e.g. bodies you can loot)
  • Works as a toggle when used with no argument

id5Tweaker_RAGE_HideMiniMap [0,1]

  • Hides the minimap
  • Works as a toggle when used with no argument

id5Tweaker_RAGE_HideWeaponInfo [0,1]

  • Hides all weapon information in the lower left including quick items
  • Works as a toggle when used with no argument

Using The Config

Instead of manually entering the commands into the console, you can use the id5Tweaker.ini config file.

 

The config file gets read and applied every time a level is loaded. You can also manually trigger a reload of the config by using the id5Tweaker_Reset command. This can be useful when trying to find the right settings. Just edit and save the file and reload the config. By default, this command is bound to the '-' key on the numpad.

 

There are two sections in the config file:

  • [CVARS]

In this section you can specify any console variable (CVar) available in the respective game. The value of the CVar is forced directly via the internal CVar system. This is equivalent to using the id5Tweaker_ForceCVar command.

  • [COMMANDS]

Every line in this section gets send to the command system of the game as if it were manually entered into the console. Therefore, anything you can enter into the console of a specific game can also be used here.

 

The default config already contains the most important CVars and commands. However, most of them are disabled because they are a matter of personal preference or the hardware. To enable them, uncomment the corresponding line by removing the ';'.

 

You might encounter areas of the game that don't work with high frame rate (see Known Issues below). If this happens, use the id5tweaker_ToggleFps command in the console to toggle the FPS unlock. By default, this command is bound to the '*' key on the numpad.

 

Optimizing Performance

Maintaining a rock-solid 144 FPS is difficult, even on high-end hardware. Although the usual options, such as resolution and anti-aliasing, have an impact on the overall frame rate, other, more obscure settings, have a greater impact on stability -- i.e. frame times. Because the virtual textures continuously have to be transcoded and streamed, the frame times may fluctuate depending on the configuration and level geometry. Because many of the corresponding CVars have an effect on each other, their overall impact on performance is not as easy to assess as traditional options such as anti-aliasing.

 

Important CVars

From my experience, the following CVars are the most important:

  • vt_pageImageSize* [4096, 8192, 16384]
  • vt_uncompressedPhysicalImages [0,1]
  • vt_maxPPF [1, 2, 4, 8, 16, 32, 64, 128]

The size of the page images determines the overall texture quality. The bigger the images are, the better the textures look and the more VRAM the game needs. Using uncompressed physical images further increases image quality at the expense of even more VRAM. The maxPPF option determines how many pages are transcoded (i.e. "loaded") per frame.

 

Bigger textures mean that it is more costly to transcode the textures. At the same time, not being able to transcode the textures fast enough will result in the notorious "pop-in" of the id Tech 5 games.

 

Overall, it comes down to a balance of visual fidelity and frame time stability, while at the same time minimizing texture pop-in.

 

Many people should be able to set the page sizes to 16384. This leads to a VRAM usage of around 3GB for RAGE and 4GB for the Wolfenstein games. However, I would disadvise from enabling the usage of uncompressed images. Not only does this increase the VRAM usage in conjunction with big page sizes to about 5GB for RAGE and up to 8GB for the Wolfenstein games, it may also introduces micro-stutter in many areas of all games.

 

The value of the max pages per frame should be set as low as possible. Fortunately, playing at high FPS also means that more textures can get transcoded more quickly, making the pop-in much less noticeable and in most cases even a non-issue. This is primarily a CPU-heavy setting.

 

Warning: Even with CUDA-Transcode enabled, a large amount of the work will be done on CPU and the engine is very efficient in using the all available cores. Setting the maxPPF to values of 64 or higher with high FPS might load even high-end CPUs to 100%.

 

Recommended Approach

My recommendation to approach the best settings would be the following:

  1. Set all four vt_pageImageSize* CVars to 16384, vt_uncompressedPhysicalImages to 0, and vt_maxPPF to 4
  2. If you experience noticeable pop-in, double the vt_maxPPF value until the pop-in is no longer noticeable/bothersome
  3. If you can't find a good balance between stability and pop-in or are experiencing severe stutter due to a lack of VRAM, set the page image sizes to 8192
  4. If you are satisfied by the performance, have at least 6GB of VRAM and want to further push image quality, set vt_uncompressedPhysicalImages to 1

For The Tech-Savvy and Adventurous

The main bottleneck of the engine seems to be the streaming of the virtual textures. By default, this means a lot of reads on the drive the game is installed on. The game also allows to set a path for a cache file. Playing the game from a slow, fragmented HDD may prevent players entirely from achieving high FPS. If your SSD is too small to install the whole game, you can at least set the cache path to it. The path can be set by adding +fs_cachepath "<path-to-folder>" to the command-line of the corresponding game.

 

If you have enough RAM, you can also use a RAM-Disk for the cache file or even install install the whole game to it, although this might only be feasible for RAGE, even for the vast majority of high-end systems.

 

Finally, although I spent a fair amount of time analyzing the various CVars and their impact on FPS and stability, the approach above might not be the best. Feel free to experiment to search for better combinations and share your experiences. Remember that you can use the find command in the in-game console to search for CVars and commands.

 

A starting point could be to enable the usage of CUDA to transcode the textures, which for me seems to make very little difference in FPS or stability and appears to introduce micro-stutter in some situations. Use vt_useCudaTranscode to enable the usage of CUDA. If you enable CUDA you should also set vt_cudaBudget to a value below your frame time. Remember that CUDA only works on Nvidia GPUs.

 

Additional Information

What You Should Know

This mod is essentially a hack and relies on the layout of the specific executable. There may be crashes or unexpected issues. Feel free to provide feedback so that the problems can get fixed.

 

Also, beware that some of these games were not optimized for such a high frame rate. Although the games generally perform well, I ran into sections were the FPS would drop significantly, even on a very powerful machine.

 

Finally, since this mod consists of an executable DLL-File, I could have put any harmful shenanigans in there. You just have to trust me that the file is clean.

 

If you don't -- and why should you -- feel free to use a meta online virus scanner like VirusTotal to verify the file. Be aware however, that because the mod uses "hacking techniques" such as injection and hooking, it could trigger anti-virus software without being harmful.

 

Known Issues

There are some known problems when unlocking the frame rate in certain parts the games. Some of these problems are more severe than others. Remember that you can toggle the FPS unlock with the id5tweaker_ToggleFps console command, which by default is bound to the '*' key on the numpad.

 

This might not a complete list and probably will be extended in the future. If you encounter any problems, feel free to provide a description of the corresponding section in the style seen below.

 

RAGE

 

Various Locations [type: visuals, severity: minor]

  • A few physics animations like cloth or the turn rate of turrets are running faster than normal. As far as I can tell this has no effect on gameplay and is in most cases barely noticeable unless you look for it

Wolfenstein [both Games]

 

Various Locations [type: interface, severity: medium]

  • Some players reported that the subtitles are lagging behind the audio in some cases, though I did not have time to verify this yet

Wolfenstein: The New Order

 

Chapter 1 - Deathshead's Compound [type: performance, severity: medium]

  • Some players reported very low FPS on the first cutscene when starting a new game, although I could not confirm this on my end

Chapter 2 - Asylum - Yard [type: gameplay, severity: game-breaking]

  • The two drones that are released from the truck that crashes through the gate get ejected faster than normal and can get stuck in the ground, making them unkillable


What's New in Version 0.3   See changelog

Released

  • RAGE: Toggling the HUD elements can now be done without having to reload the game
  • RAGE: Hiding the crosshair no longer hides the interaction info
  • RAGE: Added command to hide the interaction info
  • RAGE: Fixed bug that some items could not be correctly bound to a key (e.g. bandages)
  • RAGE: Binding an item to a key now also works with the advanced versions (e.g. Advanced RC Bomb Car)



User Feedback

Recommended Comments

Hey can you help me in changing the bind for the FPS toggle and Reset. I can't seem to get them to work.

Share this comment


Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Found PCGamingWiki useful? Please consider making a Donation or visiting our Patreon.
  • Similar Content

    • By k4sh
      This Flawless Widescreen script will let you override width safe area that is bounded to 90%. It will relocate HUD in the center if you play ultrawide or multi monitors.
      It will also remove the black bars that the game engine forces in cinematics (rendered in 16/9 natively).
      Install first Flawless Widescreen.
      Download the script and unzip it in your Flawless Widescreen folder.
      Run it and click MassEffectAndromedaTM on the left frame.
      On the right frame, game fixes are available to en(dis)able.
      Use the sliders for the HUD to relocate in game.
      Alternatively, you can force HUD safe zone values by modifying the the profOpts_profile file that is located in the %USERPROFILE%\Documents\BioWare\Mass Effect Andromeda\Save folder.
      Locate the GstRender.ScreenSafeAreaHeight and GstRender.ScreenSafeAreaWidth lines and modify them.
      Valide range is 0-1 (float value)
      Note that any modification in the game settings may erase your modifications in file.
    • By Methanhydrat
      TL;DR
      The Youngblood Tweaker is a mod for Wolfenstein: Youngblood. It includes options to scale player and enemy damage, adjusting the amount of head bobbing, disabling various HUD elements and more.
      Download Sources:
      PC Gaming Wiki Quick Start Guide:
      Extract all files to the game’s installation folder (e.g. "C:\Program Files (x86)\Steam\steamapps\common\Wolfenstein Youngblood\"). Start the YoungbloodTweakerGUI.exe to configure the mod (might require .NET runtime 3.1.0). Start the game as usual (e.g. through Steam). Features
      The features of this mod include:
      Adjusting player and enemy damage Disabling various HUD elements, such as enemy healthbars, objective markers, minimap or the crosshair Adjusting the amount of head bobbing when moving or turning Forcing the FOV outside the range that can be set ingame Disabling rendering of the fog Supported Versions
      This mod is designed for the latest version of the game and might not be compatible with older or modified executables!
      Steam (international version) Steam (international demo version)
    • By filoppi
      Nioh2Resolution Adds support for any resolutions to *Nioh 2: Complete Edition* on PC (UI isn't perfectly scaled).
      Credit to LennardF1989 for the original Nioh 1 version.
      ## How to use?
      1) Download the latest release of Nioh2Resolution.
      2) Save the content of the archive to the root of the *Nioh 2: Complete Edition* game-directory (Defaults to `C:\Program Files\Steam\steamapps\common\Nioh2` for Steam installs) (you can delete it later on)
      3) Run `Nioh2Resolution.exe` and follow the instructions.
      4) Start the game and set the resolution to the specified one (if that is not shown in the game menu, set it in %USERPROFILE%\Documents\KoeiTecmo\NIOH2\config.xml)
      5) Restart the game as there seems to be a bug that breaks the brightness (and UI scaling) if you change resolution after startup.
      ## How does it work?
      Before doing anything, the game will be unpacked using Steamless. This is required because the Steam DRM will otherwise not allow a modified executable.
      Once unpacked, the patcher will look for the byte representation of the 3440x1440 resolution, and change all occurances to your desired resolution.
      Anything wider than 21:9 should work decently, especially because the FOV scaling is Horizontal+, but some UI anchoring will be wrong and some other won't be scaled correctly. Loading screens and cutscenes seem fine.
      Unfortunately Nioh 2 natively has a bug where the UI drifts after certain events at any aspect ratio above 64:27 (2560x1080).
      There is an EXPERIMENTAL fix that and also allow the game to have fully visible UI and not stretched at aspect ratios below 16:9, but both fixes come with consequences. They are detailed in the patch itself.
      In theory, this patcher should work for any version of the game.

      v5 changelog:
      -Added experimental fix to fix the drifting
      -Improved text and fixed some false warnings
      -v4 often ended up reported as a false positive by many anti viruses. I've moved a few things around to make sure this doesn't happen anymore.

      Virus scan (of v5): https://www.virustotal.com/gui/file/2e3aaf6cd34fe77138e8f7de7a8d5007a6a53217b75db8696d1842de203981f7/detection
      Source is available anyway.
      Donations: https://www.paypal.com/donate?hosted_button_id=BFT6XUJPRL6YC
    • By Nezacant
      Floating text above the heads of all interactable NPCs seems to be broken/detached at certain ultrawide resolutions.  The closer the NPC is to the edge of the screen, the more detached the floating text becomes.  Text disappears when it moves outside of a 16:9 area of the image.
       

      (Above: 2560x1080, screen shot not my own. User reporting same issue on reddit.  Below: My own screen shot, 5120x1440 )

      My own observation about this issue, it seems the text is "trapped" in a 16:9 box and doesn't extend out with the rest of the image.
      Running the game at 3440x1440 is fine.  The text syncs up with the characters.
    • By ShadowStealer7
      This archive contains configuration files from the settings posted by Special K developer Kaldaien on the Special K forum.
      Unpack the archive Follow the setup instructions on the PCGW article for Horizon Zero Dawn Launch the game Tested on the Steam version of the game.
  • Who's Online   0 Members, 0 Anonymous, 520 Guests (See full list)

    There are no registered users currently online

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Member Statistics

    7,519
    Total Members
    3,870
    Most Online
    scannybet001
    Newest Member
    scannybet001
    Joined
×
×
  • Create New...