[FAQ] How to use commandline switches

Question

mkey82
13

mkey82
13

GTAIV/EFLC feature commandline switches which enable some system specific settings the game engine isn't capable of figuring out on its own. You have to do it manually and test things out, find what works best for your system. In many cases this produces good results so don't give up if you initially run into trouble.

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 (1.0.7.0)

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.

Troubleshooting

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.

What can be achieved with switches?

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.

Example

-norestrictions-nomemrestrict

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

<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.

Example

-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.

Example

-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.

Share this post

Link to post

Share on other sites

thestig93
16

thestig93
16

I have an ati 4830 card, 4gigs of 800mhz ram,Q8200 and a 64bit os. I use 346 out of 498mb of available vram. In your opinion, how much shlould my memrestrict be if I wanna remove both stutter and texture pop.

Share this post

Link to post

Share on other sites

mkey82
13

mkey82
13

Well, either the game would refuse to start as the system would deny the unsupported resolution or the screen would just switch off or the game would fallback to the nearest supported resolution. I think the second option is most probable.

Share this post

Link to post

Share on other sites

mkey82
13

mkey82
13

-fullspecaudio is on the list, it's the default setting, so afaik you don't need to use it. minspecaudio is for meant for low end machines

-dx10 is a load of bull

/high is a piece of sh*t as well, both pertain to a fairytale, don't know who started using them, but I guess people will make up what is lacking

Now, what puzzles me are reflectionresolution and shadowresolution, I always took these for granted, but only now I realize they are not documented so that leaves me... well, puzzled. Have you tried avoiding the use of those commands to see if they have any actual impact on the game quality/performance?

They are not mentioned in the vanilla readme neither, I doubt R* would remove options instead of adding them.

Share this post

Link to post

Share on other sites

jesushumper
1

jesushumper
1

Try placing "-benchmark" in the commandline file to see if it's reading it properly.

Yep, it's taking. Also tried using Xliveless.

Even tried lowering m texture quality and using even lower values, with no luck. Also tried higher values than the ones listed. And lowering in-game options like draw distance and details, shadow, etc.