More details about the commandline switches can be found in the FAQ, here. This list may be a bit old, there are some new switches added later on, the following should be valid for the latest game version (18.104.22.168)
Thanks to smiler_16 for the screenshot... which is now offline, so here's the list
| LaunchGTAIV.exe [options]|
Where [options] are one or more of:
==== [ Global ] ====
-adapter: Use the specified screen adapter number <zero-based>
-disableimposters: Turn of the imposter rendering for vehicles
-noBlockOnLostFocus: Don't block the window update when it loses focus.
==== [AUDIO] ====
-fullspecaudio: Force high-end CPU audio footprint
-minspecaudio: Force low-end CPU audio footprint
==== [GLOBAL] ====
-benchmark: Determines if we run the benchmark immediately
-safemode: Sets graphics setting to lowest setting
==== [GRAPHICS] ====
-forcehighqualitymirrors: Enable 64 bit mirrors
-forcer2vb: force r2vb
-frameLimit: number of frames to limit game to
-framelockinwindow: Force framelock to work even in a window <works best with 60Hz monitor refresh>
-fullscreen: Force fullscreen mode
-gpucount: Lets you manually set the GPU count if query fails
-height: Set height of main render window <default is 480>
-managed: Use D3D runtime managed resources
-nominimize: Disables the ability to restore the game from minimize and changing resolutions - Reduces System Memory Footprint
-norestrictions: Do not limit graphics settings
-noswapdelay: Disable sleep delay before Present <disable fix for hard Present stalls>
-novblank: Disable wait for vblank
-refreshrate: Set refresh rate of main render window
-stereo: Set game to support stereo rendering mode
-unmanaged: Use application managed resources
-width: Set width of main render window <default is 640>
-windowed: Force windowed mode
==== [INPUT] ====
-usedirectinput: Allow DirectInput alongside XInput support.
==== [MEMORY] ====
-availablevidmem: Percentage of available video memory
-memrestrict: Set the restriction the amount of available memory for managed resources
-no_3GB: Disable 32bit OS with /3GB
-nomemrestrict: Do not restrict the amount of available memory for managed resources
-noprecache: Do not precache resources
-percentvidmem: Percentage of video memory to make available to GTA
-reserve: Amount of memory to set aside for other applications
-reservedApp: Amount of memory to leave available within application space
==== [QUALITY SETTINGS] ====
-autoconfig: Automatically adjust quality setting to maintain desired frame rate <15-120>
-detailquality: Set detail distance <0-99>
-renderquality: Set anisotropic filtering <0-4>
-shadowdensity: Set the number of lights that cast shadows
-shadowquality: Set the shadow quality <0-4>
-texturequality: Set texture quality <0-2>
-viewdistance: Set LOD view distance <0-99>
==== [TIME] ====
-notimefix: Disable Time Fix
In this topic I'll reflect on some stuff I find to be most important and where people usually make mistakes. The best method to use commandline options would be to write some switches inside a text file called "commandline.txt" and then place that file inside the game directory where the game executables are found.You may find that commandlines don't work for you, there are a few possible solutions.
- the file needs to be named "commandline.txt", not "commandline.txt.txt" which could happen if you have hidden system extensions. Your best bet is to open up notepad, write your commandline switches inside and then save it as "commandline.txt" or just "commandline", it doesn't matter as notepad will append the ".txt" extension if you omit it.
- sometimes it's best to delete the commadline file and create a new one.
- if you have placed some switches into a shortcut to the launcher, you'll want to delete that one and a create a new shortcut.
- in some rare cases the game refuses to use commandlines, what you can try is to delete the game settings, this may help but it's not guaranteed.
- you can cause massive game instability if you decide to force settings with "nomemrestrict" and "norestrictions". These two switches will allow you to max out the game on any hardware which usually will not end well. In some rare cases contrary to logic and common sense, it has been shown the game will act more stable if you use these commands but you shouldn't overdo with the settings.
Generally, I don't recommend using these two switches at all.
- you can reduce or eliminate the stuttering effect by using "memrestrict". This also fixes some crashes on older game versions usually due to memory leaks. Note that this switch shouldn't be mixed with ones mentioned above. There are a few ways to calculate the memrestrict value, but usually some tweaking is necessary to achieve best performance. The general way to go about is to use
CODE <total VRAM amount present in your system, that is VRAM on your GPU in MB>*1024*1024
For a 1GB graphics card, you would get 1000*1024*1024=1048576000. Now, this would be a *top* borderline value and you'll want to reduce it a bit to make the game more stable. So basically you can reduce it in steps of about 5-10% until you notice some improvements. On higher end you'll get more stutter and less pop-up, while on lower end the game should be more stable but with more pop-up textures being visible. This is simply because you are limiting the memory amount the game has available so the textures will have to be reloaded more often. While they are loading there is a delay so they don't get drawn on time on the screen.
This has also another side effect. Sometimes, because of less stuff being drawn, you may experience better performance but with textures and objects popping out all over the place. This is also true in some cases when too high settings are applied.
CODE -memrestrict 734003200
- you can force a bit higher settings while balancing between extra niceness and pop-up and stuttering. This is best used on capable 512MB cards, where you would like to use the high resolution textures (which in many cases seem to give better performance then medium resolution ones and definitively look a lot better) but your VRAM just can't cut it. You can use "availablevidmem" to extend your VRAM amount and make the game use your system RAM as if it belonged to the graphics card. Of course this will be slower and the key is not to overdo it.
Your best bet is to initially use something like "avaiablevidmem 2.0", then go into game configuration and choose all the settings you would love to use (while not overdoing it). Take note of the memory usage displayed on the bottom of the screen and divide this number by the actual amount of VRAM. Let's say you have a 512MB card and that your total settings amount to 725MB in game. Now you would divide 725/512=1.41. This means you should use 1.5 value so close the game and edit the commandlines file.
CODE -availablevidmem 1.5
From my experience, you shouldn't go past 1.5 as the game becomes too unstable and you should ask yourself what exactly do you want your card to do. Obviously forcing too high settings isn't a good idea.
- conflicting commands
- conflicting and nonsense commands
- conflicting and nonexistent commands
CODE -memrestrict 734003200