Here's an interesting post from over @ GTAforums.com that may help with performance for some of you. It seems to have helped for me since at 2560 x 1600 my rig is GPU bound opposed to CPU bound:
1. Get rid of -nomemrestrict or any current commandlines you have. When you run the game, go to the graphic options, turn your resolution to 800x600 or 1024x768 or whatever you want the reflection maps/resolution based quality to be at, I did 800x600 mainly because it looks simular to the rest and will give you the most performance. Use the rest of your memory budget in draw distance.etc.
2. If you cannot acheive the graphical settings you want with your currently memory budget do this next step. If you can, then you can skip this step.
make commandline.txt or append -availablevidmem (multiplier):
This command works like this, say I have 256mb vram. -availablevidmem 2.0 would make it say I have 512mb vram, its a multiplier.
So for getting our settings as we want it lets make a budget of 512mb vram, so -availablevidmem 2.0.
Open GTAIV, set resolution in the ingame settings to 800x600, set rest of the options to whatever you want (be reasonable).
Now continue to the next step.
3. Now you have your game set as you want it, but in a f-ugly resoltion, but we will fix that. Next step is to trick GTAIV, even people with 512mb graphic cards or even 1gb, this is even useful for them.
One of my buddies with a 8800GTX loves this tweak because it allows him to get much higher frames with very little to no graphical loss.
So now lets say all our desired settings ingame @ 800x600, use 650Mb. Ok. But say were now using a 1GB card so it says 650/1024Mb. This is a problem now because if we force -height 1080 -width 1920. We will end up with our ingame options changing to 1920x1080 giving us way more slowdowns because R* starts using that dam scaling reflection maps.etc with resolution.
So what we need to do now is limit the memory GTAIV sees to exactly the amount to run our game in 800x600 (or whatever quality refection maps.etc you want) with our desired settings.
So lets go back to our dilemma, we have a 1GB graphic card and the game only takes up 650mb with the settings we want in 800x600.
We can figure this out by doing some simple math.
1GB Card (650mb desired settings): 650/1024 = 0.635 (its 0.634 but give a tiny bit extra, just like a couple megabytes).
So you would use -availablevidmem 0.635 that would make the game detect you only have 650mb ram which barely fits the features you want in 800x600.
So now once we have figured that out your commandline.txt or your shortcut appending should look like this (depending on what resolution you want/your vidmem.etc):
-height 1080 -width 1920 -availablevidmem 0.65
and maybe you add stuff like (-framelimit, or -noblank or whatever).
*BUT DO NOT USE ANY UN-RESTRICTION (this includes the nomemrestrict and norestrictions or anything like that)!
4. Now when we start up our game. We will be in our desired resolution, and when we look in the game options it will say 800x600, even though we are in a way higher resolution and all your settings will be how you want them and your memory budget will be exactly the right amount or similar like 650/650 or 742/746.etc
Funny thing here you wont be able to go back cuz it will detect your memory budget is to low and the game is forcing a higher res, so you might not be able to leave the options screen now, so alt tab, and close the game. If all your settings looked right and it said 800x600 but was clearly in a higher res. Then you did everything right, if not, go retry.
5. Now restart the game and play. Yay, good fps, cheated GTAIV to not up the reflection quality with the resolution.
I noticed that if you restrict the memory usage too close to the maximum I was getting CTDs with "out of video memory" error. So you might want to keep adjusting it until the setting is in-the-green, but not too much as it will revert back to the higher resolution. This was a bit of trial and error. Also, another note is, if you are running Vista you can add the "-dx9" switch to the shortcut to force Directx9 for a performance increase.
The full forum post is available HERE
If you are getting regular CTDs without any warnings or error messages, try re-installing your vid and audio drivers. Make sure you go into safe mode and use CCleaner and Driver Sweeper until everything is gone. Since I did that, I have had no CTDs and performace with the above tweak is much better. I recommend the 180.84 beta nVidia drivers if you have a nVidia card.
1. Get rid of -nomemrestrict or any current commandlines you have. When you run the game, go to the graphic options, turn your resolution to 800x600 or 1024x768 or whatever you want the reflection maps/resolution based quality to be at, I did 800x600 mainly because it looks simular to the rest and will give you the most performance. Use the rest of your memory budget in draw distance.etc.
2. If you cannot acheive the graphical settings you want with your currently memory budget do this next step. If you can, then you can skip this step.
make commandline.txt or append -availablevidmem (multiplier):
This command works like this, say I have 256mb vram. -availablevidmem 2.0 would make it say I have 512mb vram, its a multiplier.
So for getting our settings as we want it lets make a budget of 512mb vram, so -availablevidmem 2.0.
Open GTAIV, set resolution in the ingame settings to 800x600, set rest of the options to whatever you want (be reasonable).
Now continue to the next step.
3. Now you have your game set as you want it, but in a f-ugly resoltion, but we will fix that. Next step is to trick GTAIV, even people with 512mb graphic cards or even 1gb, this is even useful for them.
One of my buddies with a 8800GTX loves this tweak because it allows him to get much higher frames with very little to no graphical loss.
So now lets say all our desired settings ingame @ 800x600, use 650Mb. Ok. But say were now using a 1GB card so it says 650/1024Mb. This is a problem now because if we force -height 1080 -width 1920. We will end up with our ingame options changing to 1920x1080 giving us way more slowdowns because R* starts using that dam scaling reflection maps.etc with resolution.
So what we need to do now is limit the memory GTAIV sees to exactly the amount to run our game in 800x600 (or whatever quality refection maps.etc you want) with our desired settings.
So lets go back to our dilemma, we have a 1GB graphic card and the game only takes up 650mb with the settings we want in 800x600.
We can figure this out by doing some simple math.
1GB Card (650mb desired settings): 650/1024 = 0.635 (its 0.634 but give a tiny bit extra, just like a couple megabytes).
So you would use -availablevidmem 0.635 that would make the game detect you only have 650mb ram which barely fits the features you want in 800x600.
So now once we have figured that out your commandline.txt or your shortcut appending should look like this (depending on what resolution you want/your vidmem.etc):
-height 1080 -width 1920 -availablevidmem 0.65
and maybe you add stuff like (-framelimit, or -noblank or whatever).
*BUT DO NOT USE ANY UN-RESTRICTION (this includes the nomemrestrict and norestrictions or anything like that)!
4. Now when we start up our game. We will be in our desired resolution, and when we look in the game options it will say 800x600, even though we are in a way higher resolution and all your settings will be how you want them and your memory budget will be exactly the right amount or similar like 650/650 or 742/746.etc
Funny thing here you wont be able to go back cuz it will detect your memory budget is to low and the game is forcing a higher res, so you might not be able to leave the options screen now, so alt tab, and close the game. If all your settings looked right and it said 800x600 but was clearly in a higher res. Then you did everything right, if not, go retry.
5. Now restart the game and play. Yay, good fps, cheated GTAIV to not up the reflection quality with the resolution.
I noticed that if you restrict the memory usage too close to the maximum I was getting CTDs with "out of video memory" error. So you might want to keep adjusting it until the setting is in-the-green, but not too much as it will revert back to the higher resolution. This was a bit of trial and error. Also, another note is, if you are running Vista you can add the "-dx9" switch to the shortcut to force Directx9 for a performance increase.
The full forum post is available HERE
If you are getting regular CTDs without any warnings or error messages, try re-installing your vid and audio drivers. Make sure you go into safe mode and use CCleaner and Driver Sweeper until everything is gone. Since I did that, I have had no CTDs and performace with the above tweak is much better. I recommend the 180.84 beta nVidia drivers if you have a nVidia card.