Grand Theft Auto IV: The Complete Edition

Grand Theft Auto IV: The Complete Edition

755 ratings
GTA IV Performance Optimization - A simple three steps guide
By Zephyr_2802
Follow this basic guide to gain increased performance on almost every computer!
My hardware consists of an AMD Ryzen 1600X, a Nvidia Geforce GTX 1070 and 16GB of RAM at 3000MHz. With 100% vehicle density, 50% details range, 50% visibility range and maximum graphic settings at 1080p/144Hz, I still manage to get above 60 FPS most of the time and the game generally runs a lot smoother without micro stutters.

Surely my computer isn't a high-end gaming machine, but it is on the high end of what the casual gamer can afford for his hobby. I wasn't pleased with how badly GTA IV runs on modern hardware almost 10 years after the launch, so I spend some time to find possibilities to make the gameplay smoother. After digging through dozens of threads in online forums, I decided to make this guide available to everyone who seeks better performance ingame.

These modifcations will also greatly increase the performance on older computers. This will only help if you have a separate dedicated graphics card, though. Otherwise it's a lost cause since integrated graphics processing units from CPUs can't handle this game without turning it into a slideshow.
Step One
GTA IV allows itself to use only up to 2GB of your RAM. In order to change that, locate the directory of your GTA IV installation path and open the folder named "pc", there will be a file called "stream.ini". Open it with a simple text editing program like Notepad (Windows Editor will work too).

It contains the following four lines of code:

virtual 204800
physical 204800
virtual_optimised 204800
physical_optimised 204800

As you can see, the numbers above are all the same and display the maximum of physical memory allocated to GTA IV in megabyte + 00 for an unknown reason to me. Change all of the values to the number '409600' instead in order to allow GTA IV to use up 4GB of your system memory. Sadly the game is a 32-bit application, therefore it's not capable of utilizing more than 4GB of memory.

Important: If you have only 4GB of memory and decide to allocate all of it to GTA IV, I advise you to close any background applications which are not needed when playing the game.

Save the changes in the initialization file. This simple modification won't have a big impact itself, but paired with the others it's great for optimizing the performance. It also gives you the opportunity to add more demanding modifications which may need more memory to work properly.

Important: This must be done seperately in the installation path of EFLC.
Step Two
Add the following launch options for the game launcher:

-nomemrestrict -norestrictions -percentvidmem 100 -noprecache -novblank -heapsize 2097152

There are two ways to add the launch options.

Option 1: Open your game library in steam and right click on GTA IV (or EFLC) and open the properties. In the tab "General" is a button called "Set Launch Options...". Click on it and copy&paste the six launch options listed above. Click "Ok" to apply the added command lines.

Option 2: Practically the same - Locate LaunchGTAIV.exe in your main installation path and create a shortcut. Open the properties of that shortcut and add the six launch options listed above behind the target line. Save your changes to the shortcut settings. In the future, start the game only using this shortcut, otherwise the launch options won't be applied to the task.
Step Three
To get the most out of this game, you need to open the control panel of your graphics card. I use a Nvidia GPU myself, so I can only make a walkthrough for this brand. I don't know anything about AMD Radeon GPUs, but I'm sure there'll something similar in terms of software.

As a disclaimer, English isn't my native language so I don't know the exact designations, but I'll try to translate them as good as possible.

At first, you need to open the "Nvidia control panel". There are multiple ways to access it, but sometimes the options aren't available for every user, so I'll list all ways which are known to me.

1. Right click on the desktop background -> Open Nvidia control panel.
Turns out that it can be that easy.

2. If you have "Nvidia Geforce Experience" installed, click on the small upwards facing arrow in your right taskbar to show all hidden icons, right click on the icon of Nvidia and open the control panel.

3. Can't access it on the desktop and don't want to download GFE? You may be able to find it in the "Windows control panel" (not the Windows settings). If you are using small/big icons, the Nvidia control panel is linked somewhere in this list. If you are using categories, you click on "Hardware and sound" and the link should be there then.

It may take a few seconds to show up, but once the control panel opened you will see a few blue colored options on the left side. Click on "Manage 3D-Settings", now you can assign a number of graphic options globally or for single programs. In this window, click on "Program settings" (instead of the "Global settings") and select GTAIV.exe as the program you want to adjust. You may have to add it manually if it doesn't show up in the list.

Now you need to adjust the following 3D-options:

Antialiasing - FXAA = ON (ingame antialiasing makes things look too choppy)
Antialiasing - Transparency = Multisample
Power management mode = Prefer maximum performance
Texture filtering-quality = High performance
Threaded-optimization = ON
Vertical Synchronization = OFF

Click on "Apply changes" on the lower right corner of the control panel to save the options.
The adjusted settings will come into action on the next game start.
Just listing a few things off the top of my mind in this section

If nothing in this guide seems to help your performance problems, reduce the view distance and the detail distance in the ingame graphics settings to equal values; I set both options to the number 50 to get smooth framerates for instance. My vehicle density is set to 100 because i like it when the streets are filled with cars and pedestrians, but you should probably decrease that value too since it's taking up a serious amount of resources.

Reducing the rendering resolution (video mode) surprisingly doesn't seem yield any results, so I conclude that this game doesn't scale with the resolution. Infact, it doesn't seem scale with anything but the view distance, detail distance and vehicle density for some odd reason. It's probably because the game is a real mess when it comes to coding.
< >
HOLD Nov 13 @ 6:20pm 
My in game menu still shows a max of 2048mb VRAM regardless of my commandline.txt setup. I've seen pictures of people with 4096mb in their menu, does anyone know what i'm missing here?
Hawky For Life Oct 19 @ 1:44am 
Rindar1 GTX 1080 and GTX 1080ti is way higher end then GTX 1070 even an RX 580 can outperform GTX 1070 now like a fine wine :steamfacepalm:
Hawky For Life Oct 19 @ 1:08am 
Am sure unlockallavailable core does helps greatly
ThemePark Aug 8 @ 2:44pm 
I tried doing all the steps in this guide, but nothing has helped in regards to FPS.

What I find interesting though, is that the game seems to ignore all these changes. Step One is a simple change, so I would expect the game to show a max of 4096 MB, but it sticks with the 2048 as max for some reason, which is what leads me to believe it's ignoring all those settings, though I don't know why.
HorseOnFire! Aug 2 @ 3:21pm 
Thank you so much! :stein:
Electric Jul 30 @ 8:12am 
Thank you!
Myth[Alex] Jul 28 @ 9:35am 
@Knuckles: Noticed. Thank you for helping me out !
Postal Dude Jul 28 @ 5:56am 
Thank you so much!
This helped me getting 144+ FPS instead of 50-60 :)
Knuckles Jul 14 @ 4:34am 
@Myth[Alex] Look below for answer you had.
Knuckles Jul 14 @ 4:33am 
@Muth[Alex] Hey! I'm not the creator of this guide but i hope I can help you with those launch commands.
Excerpt from another guide:
-noprecache: Disable precache of resources
-novblank: Disable wait for vblank (No Vsync)
-headsize: This isn't from the guide it dosen't document it. Basic research shows its related to memory allocation. Hope i helped!