Optimization#
We all know how horrible the optimization of the game was at release. Unfortunately, we still don't have an ultimate solution - but we do have a pretty good one.
Drivers#
This may sound obvious, but a lot of people don't install drivers, so I feel the need to mention it. Select your GPU vendor (for the dedicated GPU, not integrated one) and follow the instructions for that vendor only.
This installation method is recommended because it allows you to install only what you need, for example, if you do not want GeForce Experience or Telemetry.
- Go to the official website.
- Download the latest version.
- Run the
NVCleanstall_x.x.x.exe
. - Select
Install best driver for my hardware
. - Check
Periodically check for driver updates in background
to always have the latest drivers. - Select the components you want/need (if unsure - click
Recommended
and read the module descriptions and toggle them as needed). - After the download, select tweaks as needed (if unsure - leave them as they are).
- Install the driver.
This method installs things you may not want, such as Telemetry or GeForce Experience. See NVCleanstall to avoid this.
- Go to the official website.
- Install GeForce Experience. If you want the driver separately, select it from the manual driver search.
- Follow the in-app instructions to install the driver.
- Go to the official website.
- Press
Download Windows Drivers
. If you want to manually select your driver instead, use the manual search below. - Follow the in-app instructions to install the driver.
- Select
Optional
drivers overRecommended
to get the latest drivers. - Select
Minimal Install
overFull Install
if you don't need the extra features of the Adrenaline app.
- Go to the official website.
- Either use the automatic tool to detect and install drivers automatically, or browse through the list of video drivers and install the driver you want.
- Follow the in-app instructions to install the driver.
Setup Utility#
Tip
Using this tool you can set up DXVK and Launch Options automatically without bothering with "but what does this do and how do i do this" etc. You can skip the remainder of this page and go straight to Optimal Game Settings after using it.
Warning
You may want to re-run it after downgrading, installing FusionFix and/or ZolikaPatch.
Usage
- Download the latest version of the tool.
- Launch it and follow the in-app instructions (or just press
Install DXVK
andSetup launch options
buttons and don't touch anything else). - If any issues occur, report it on the discord server.
DXVK#
Currently the only good solution for improving game's performance.
Information
- DXVK mainly improves CPU performance through better drawcall handling - the ones the game abuses so much. There is a chance that DXVK will not improve performance for you if you're GPU-bound instead.
- DXVK does not officially support Windows, but it works perfectly for GTA IV.
- For Linux users using Proton, only apply configuration, since Proton already uses DXVK.
Prerequisites
- Make sure your drivers are up-to-date.
- Make sure your PC meets the DXVK requirements or at least the Legacy DXVK Requirements - preferably the recommended versions. Most 2015 and newer GPUs should support the normal version, and 2012-2014 GPUs should support the legacy version, but you can use GPU-Z's Advanced - Vulkan tab to check for yourself. The Legacy version will have less performance and may have more bugs.
- Some Intel iGPU's only support the Legacy version
1.10.1
. - Disable
Shader Pre-caching
in SteamSettings
-Downloads
tab.
ENB Support
DXVK doesn't officially support ENB (and vice-versa) and is strongly discouraged by the ENB community. However, it will still work for more basic effects - but expect problems.
Ignore this if you don't plan to use ENB's.
What benefit can I expect?#
It's hard to say, because DXVK's improvement can vary from device to device. But for a rough comparison, you can use my benchmark:
Installation#
- Use this version if your GPU supports the latest version. See the warning above to make sure.
- Instructions:
- Go to DXVK Releases and download the latest version -
dxvk-x.x.tar.gz
.
DXVK-gplasync patch can be used instead for smoother performance on AMD and Intel Arc GPU's, as only Nvidia gets shader pre-compilation at the moment.
- After downloading, open the archive and navigate to dxvk-x.x.tar\dxvk-x.x\x32\
- Extract
d3d9.dll
into the game folder.
- Go to DXVK Releases and download the latest version -
Why not dxgi.dll
or other files in the folder?
The game uses the Direct3D 9 graphics API. The other dll's are for Direct3D 10 and Direct3D 11.
In simpler words, the game will not use any other files.
Why x32? My system is 64-bit
Your system is irrelevant in this case. The game itself is designed to use 32-bit libraries, not 64-bit ones.
In simpler words, the game will not use the files from x64.
If you have problems...
Use version 2.2 or version 2.0, which are the latest versions confirmed to be safe to use.
If your game won't start at all, your GPU doesn't support the latest version. Use the Legacy version instead.
See troubleshooting.
- Instructions:
- Go to the 1.10.3 release of DXVK and download the
dxvk-1.10.3.tar.gz
.
DXVK-async 1.10.3 can be used instead for smoother performance.
- After downloading, open the archive and navigate to dxvk-1.10.3.tar_3\dxvk-1.10.3\x32\
Or dxvk-async-1.10.3.tar_2\dxvk-async-1.10.3\x32\ - Extract
d3d9.dll
into the game folder.
- Go to the 1.10.3 release of DXVK and download the
Why not dxgi.dll
or other files in the folder?
The game uses the Direct3D 9 graphics API. The other dll's are for Direct3D 10 and Direct3D 11.
In simpler words, the game will not use any other files.
Why x32? My system is 64-bit
Your system is irrelevant in this case. The game itself is designed to use 32-bit libraries, not 64-bit ones.
In simpler words, the game will not use the files from x64.
If you have problems...
If your game won't start at all, your GPU doesn't support DXVK.
See troubleshooting.
Configuration#
Create a dxvk.conf
in the game folder and add following lines to the file with any text editor(sourced from PCGW):
# maxFrameLatency is used to avoid or reduce occasional frame skipping and stuttering. This option enforces a stricter maximum frame latency.
d3d9.maxFrameLatency = 1
# presentInterval is used to enable VSync. We're going to use it in favor of game's VSync implementation. This gives us better CPU overhead.
d3d9.presentInterval = 1
# numBackBuffers may further improve frametime stability while using Vsync. This option overrides back buffer count for the Vulkan swap chain.
d3d9.numBackBuffers = 3
dxvk.enableAsync = true
if using an async patch and dxvk.gplAsyncCache = true
additionally if using a gplasync patch.
Full list of DXVK options
You can see the full list here.
Also go through additional setup.
DxWrapper#
What's DxWrapper and how to use it?
Some part of GTA IV community believes DxWrapper can increase performance. From my experiments, using v1.0.6387.21
only worsened my performance and did not provide any benefits whatsoever.
To use it, extract dxwrapper.asi
, dxwrapper.ini
and dxwrapper.dll
into the game folder, and in the dxwrapper.ini
enable DDrawCompat
and DDrawCompatNoProcAffinity
.
If you can prove to me with indefinite comparisons that it can improve performance, contact me.