S_G Posted January 4, 2009 Share Posted January 4, 2009 (edited) My Theory: I've been playing around with some settings, and thought about them in conjunction with the fact that some people were reporting lower CPU or GPU usage. I quickly put together this graph as a brief explanation of how it works: What I'm thinking is that by lowering all your settings to 0, if you have a high-end video card, the stress will be lifted away from your graphics card. For some reason, it appears that GTA IV will add extra load to the CPU when your graphics card is not being used to its fullest. So, if you were to set all the graphics settings to 0, but increased all settings that were CPU-bound, your framerate would suffer. CPU cannot keep up. Likewise, if you were you set all graphics settings to 100, but lowered CPU settings to 0, your framerate would suffer. Video card cannot keep up. But, if you tweak your settings so that your video card is being stressed 100% without going beyond its capabilities, and also stress your CPU similarly, you will find an equilibrium of settings so that your framerate (or FPS, as most of you call it) will go up to its optimal performance. This would explain why when people turned up things like draw distance, their performance INCREASED instead of decreased. So, depending on how fast your CPU and GPU are, you will need to find a better combination of settings. The tweaks: To clarify, I did not come up with all of these tweaks. You can find them on this forum from various other users. I am merely pointing out my idea that by using these tweaks in a different method, your performance may be improved. I'm not saying it will work, I'm just hoping to find out whether or not this is true. Also, my idea of an acceptable framerate is 24 FPS. This is film speed. I also accept short dips below 20 FPS. Hardware: If you have an Intel dual-core CPU: an Core 2, Celeron E-series, or Pentium Dual-Core (note: not the same as Pentium D), 2.8GHz or higher is the minimum I'd recommend to play this game. So, overclock it as you see fit. If you have an AMD dual-core CPU: 3.0GHz or higher is the minimum I'd recommend. If you have a tri- or quad-core CPU: 2.4GHz or higher seems like it will be enough. If you have a CPU from before June 2007, even if it's dual-core, it will probably not be enough unless you have it running beyond 4GHz. For Windows XP, 2GB RAM should be enough to play this game. For Windows Vista, you'll need at least 3GB. I find that this game uses up to 1.5GB of physical RAM, plus some virtual memory. In-game settings: I set my resolution to 800x600. This reduces memory stress on the graphics card. In conjunction with forcing your native resolution (ie. 1920x1080) through commandline.txt, this forces lower-resolution textures and effects to be produced in the game, while the actual game itself is rendered at your native resolution. Important note: If your video card has "DDR2" memory, even 256MB of its video memory (even if it has 1GB) might be out of reach. So, don't put its resource usage beyond 256MB. On "GDDR3" with 256-bit bus, 512MB is the realistic maximum, but you can try to use more if your card supports it (basically, bus-width * 2, so a GTX 280 with 512-bit bus can use 1GB). For GDDR4 and GDDR5 cards, I'd try bus width * 4 (so 256-bit = 1GB). Of course, these are maximum limits I'd set, your video card might not even have that much memory. Then, you will want to set the other settings according to your CPU and GPU ability. This is a good order to change them in, but first set them all to 0: Shadow Density to 0 is good, it looks better to some. I wouldn't enable it on a dual-core system. It seems to be both CPU and GPU bound, for some reason, unless I screwed something up. Depending on how fast your video card and CPU are, change the Texture Quality and Render Quality. On my 8-core + 8GB + 8800 Ultra, I set these both to max (high and highest). However, on my dual-core at 3GHz + 4GB + HD 4850 512MB, I set them to high and high. This way, the large textures are taking up more of the 512MB memory, and the rendering is not so high that my video card will become the bottleneck. Detail Distance is CPU and GPU, or so it would seem. I'd set this to below 30 on low-end systems, up to 100 for tri/quad and high-end video cards. Vehicle Density is more CPU- and memory-bound. I would set this to 0 on all dual-core systems below 2.8GHz. Tri- and quad-core systems should be able to set this up to 100. View Distance is video memory intensive. I would change this last. You can put it to whatever maxes out your video memory usage at the bottom of the screen (keeping in mind my important note about video memory). Write down all of these settings as numbers, you'll need them. Note that "texture quality" is on a scale of 0-2, and "render quality" on a scale of 0-4. Also write down your "resource usage". commandline.txt Here, I have applied the following settings on an Intel Celeron E1200 at 3GHz, 4GB RAM (DDR2-750), ATI Radeon HD 4850 512MB GDDR3: -height 1080 -width 1920 -availablevidmem 0.49 -refreshrate 60 -texturequality 2 -renderquality 3 -viewdistance 70 -detailquality 30 -shadowdensity 0 -novblank -minspecaudio -noprecache The first two lines are setting my display's native resolution of 1920x1080. Change these to yours. Only necessary on LCDs, CRTs can use any resolution their monitor supports since it does not have fixed pixels. The second line is forcing my video memory to 49% of my card's actual memory. GTA IV will automatically attempt to increase the resolution if there is enough video memory left to go higher, so you need to force it to THINK that there is not enough memory to go higher, thus keeping it at 800x600. availablevidmem is a percentage. Remember "Resource Usage" in the game? We are going to divide it as A / B. So, if it said 400 / 500 MB, then 400 divided by 500 = 0.8. Round this up to two decimal places (x.xx), and add +0.01 if you like. So, we'd be setting 0.81 in this situation. refreshrate is my refresh rate of 60Hz, not really necessary. It's more important for displays that can handle texturequality and renderquality should be what you set in-game. viewdistance should be increased beyond what we set in-game. You probably managed to get it to about 20-40. The ideal setting here is between 40-80, depending on how good your graphics card is. I set 70 on HD4850. detailquality should be set to whatever you had in-game (Detail Distance). shadowdensity same as in-game. You can remove -novblank if you want to keep vsync. minspecaudio slightly reduces CPU usage by audio resources by reducing its quality. You can remove -noprecache if you are not having problems with the game getting stuck at the loading screen. fragment.xml On dual-core systems, it would be wise to change the draw distance. On AMD triple and quad cores below 2.8GHz, you also might want to change it. This file: /common/data/fragments/fragment.xml (note: this file is read-only; right click on it -> properties, uncheck read-only, edit it, save it, then enable read-only again.) contains this line: <GlobalMaxDrawingDistance value="1000.000000"/> You will want to change 1000 to something lower. On dual-core, I'd set this between 200 and 700, with 700 being for dual-core CPUs 3.4GHz. I set it to 400 at 3GHz. Intel quad cores should be fine at 1000. Again, I am not saying this will work. I am just hoping to get a few of you people to test this out to see if it makes any difference for you. Edited January 5, 2009 by S_G Link to comment Share on other sites More sharing options...
juscal Posted January 4, 2009 Share Posted January 4, 2009 Makes sense when you think about it. Link to comment Share on other sites More sharing options...
Lurkingsockpuppet Posted January 4, 2009 Share Posted January 4, 2009 Great work on this, I'll test it out and let you know how it goes. Link to comment Share on other sites More sharing options...
Qumulys Posted January 4, 2009 Share Posted January 4, 2009 Nice to read a helpful, well thought out thread for once I'm getting lowsy performance on my system, I don't suppose you could suggest what settings I should use using your methods?? My system details are:- Intel Quad 8200 (mild overclock to 2.8ghz) 4GB OCZ ram ATI HD-4870X2 (which has 2gb total ram, 1gb per core) gigabyte x48-dq6 mobo Under Vista 64 (optimized by disabling most useless services, as per blackvipers guides) I have seperate physical HDDs, 1 for op system, another for swap drive, and another for game installs I'm using a lcd 1920x1200 No matter what settings I try, I get ordinary in game performance, my cpu usage benches are around 60-70% usage, system mem usage around 60% and grfx usage around 90% Any help as to what commandline settings to use would be a great help, and I'd love to try. Cheers, and well done again on a well written thread Link to comment Share on other sites More sharing options...
frodo baggins Posted January 4, 2009 Share Posted January 4, 2009 Good read, thanks! I think this should be a sticky I think your CPU demands are a little high though, you ask for at least a 2.8 Ghz Dual-Core which I don't think is really necessary. I have a 2.4 Ghz Dual-Core, 2 GB Ram 256 8600 GTS system and it's alright, at around 20 fps. Also, vehicle density = 0 seems harsh, wouldn't that be detrimental to your gaming? I know they're just recommendations for better performance but I think you could probably be more lenient Link to comment Share on other sites More sharing options...
ExitiumMachina Posted January 5, 2009 Share Posted January 5, 2009 Didn't do anymore than Monkey's fix that is stickied aside from this one kept the resolution of 800x600. Either way I did get a frame jump from both of the fixes so cheers to that! Link to comment Share on other sites More sharing options...
S_G Posted January 5, 2009 Author Share Posted January 5, 2009 @frodo baggins Well, vehicle density 0 gives you a minimal amount of traffic. I think it's something like 3-6 cars in view. As for whether or not my requirements are too high, well, it depends on the CPU. I was using an E1200, which has a very crippled cache of 512KB (512KB available to each core), whereas my quads have 12MB (6MB to each core, it's two dual-core CPUs put together). This is also just another theory, since I don't know how much cache actually benefits GTA IV. So, an Athlon X2 at 3GHz is slower than an E1200 at 3GHz, which in turn is slower than an E8400 at 3GHz. I'm just trying to be realistic about obtaining an average of 24 FPS. @Qumulys Note that your video card does not have 2GB memory, it only has 1GB. It's basically two cards sandwiched into one. If you were running two separate HD4870 cards in CrossFire, each with 1GB, you'd have 1GB usable. So, make sure you aren't going too much over 1GB resource usage. For you, I think try: In-game traffic density 90 In-game resolution: 800x600 (I myself use 920x600 as "half-resolution", I find that the effects only have to be doubled instead of scaled awkwardly. Should look more natural, in theory.) And also set the rest of your in-game settings as I've written below. Then do the resource usage division I mentioned to get availablevidmem. Then update these and put them in commandline.txt: -height 1200-width 1920-availablevidmem 0.XX-refreshrate 60-texturequality 2 ("high")-renderquality 4 ("highest")-viewdistance 70 -detailquality 100 -shadowdensity 0 (or 16, up to you)-novblank-minspecaudio-noprecache (Last three lines are optional.) @ExitiumMachina Ah, that's too bad. How much FPS are you getting, and what are your specs? Link to comment Share on other sites More sharing options...
thales100 Posted January 5, 2009 Share Posted January 5, 2009 Nice thread. Link to comment Share on other sites More sharing options...
nvr2fst Posted January 5, 2009 Share Posted January 5, 2009 (edited) My Specs are 8800 gtx 768 2.4 Duo 4 Gig Ram P5Q Deluxe Asus Board I run 1680x1050 native. Half on draw distance. Shadow, and vehicles. Medium and high on quality. I average 24-26 fps. I am not sure how this fits your theory as written now. You may have something but I think there is more to it. My system is quite playable with a few exceptions. Still definately want more fps but it is playable. Different level systems are just all over the place. Some good systems do good some bad. Some mid systems do good some bad. There is more going on here. Edited January 5, 2009 by nvr2fst Link to comment Share on other sites More sharing options...
RonFTL Posted January 5, 2009 Share Posted January 5, 2009 I am going to give this a try. Right now I need anything I can get to get this game to be playable smoothly. Link to comment Share on other sites More sharing options...
ExitiumMachina Posted January 5, 2009 Share Posted January 5, 2009 @ExitiumMachinaAh, that's too bad. How much FPS are you getting, and what are your specs? With most of the settings aside from detail distance at 5, detail distance being 20 and shadows 0. High render and high texture I get about 30-37 fps (can drop to 25 in rain and night) was getting 25 flat until I tweaked with command lines. My GPU is pretty good 9800GT 1Gb, my CPU lacks with Core2duo at 2.20Ghz with 2Gb (this would be where my performance in-game takes a hit). My only problem with this fix is I can't change detail distance higher than 20 without crashing and my usage is over the minimum (if I lower it it defaults to the resolution I have in my command line thus negating the 800x600). Though according to Monkey it should be almost over but off by a point or two which defaults the resolution. So I really can't get anywhere aside from this fix, which puts me over my minimum for usage but locks 800x600 (I have command line set at 1280x1024). Though both have upped my frames from the 20's I was seeing to the 30's I now get. Link to comment Share on other sites More sharing options...
Pixelated Posted January 5, 2009 Share Posted January 5, 2009 At first I thought.... what? But sitting here thinking about it this makes a lot of sense. It would explain why I get better gameplay with High Textures and Highest Render Quality than with Medium Textures and Medium-High Render Quality, those are both more GPU than CPU dependent. The draw distance is heavily CPU dependent and increasing it just 10 points can make a huge difference overall. Link to comment Share on other sites More sharing options...
RonFTL Posted January 5, 2009 Share Posted January 5, 2009 Windows wont allow me to edit the fragment.xml file. It says it is "read only" file How do I do this? Link to comment Share on other sites More sharing options...
aaaaaaaaaaaaaaaaaaa Posted January 5, 2009 Share Posted January 5, 2009 My Theory:I've been playing around with some settings, and thought about them in conjunction with the fact that some people were reporting lower CPU or GPU usage. I quickly put together this graph as a brief explanation of how it works: What I'm thinking is that by lowering all your settings to 0, if you have a high-end video card, the stress will be lifted away from your graphics card. For some reason, it appears that GTA IV will add extra load to the CPU when your graphics card is not being used to its fullest. So, if you were to set all the graphics settings to 0, but increased all settings that were CPU-bound, your framerate would suffer. CPU cannot keep up. Likewise, if you were you set all graphics settings to 100, but lowered CPU settings to 0, your framerate would suffer. Video card cannot keep up. But, if you tweak your settings so that your video card is being stressed 100% without going beyond its capabilities, and also stress your CPU similarly, you will find an equilibrium of settings so that your framerate (or FPS, as most of you call it) will go up to its optimal performance. This would explain why when people turned up things like draw distance, their performance INCREASED instead of decreased. So, depending on how fast your CPU and GPU are, you will need to find a better combination of settings. The tweaks: To clarify, I did not come up with all of these tweaks. You can find them on this forum from various other users. I am merely pointing out my idea that by using these tweaks in a different method, your performance may be improved. I'm not saying it will work, I'm just hoping to find out whether or not this is true. Also, my idea of an acceptable framerate is 24 FPS. This is film speed. I also accept short dips below 20 FPS. Hardware: If you have an Intel dual-core CPU: an Core 2, Celeron E-series, or Pentium Dual-Core (note: not the same as Pentium D), 2.8GHz or higher is the minimum I'd recommend to play this game. So, overclock it as you see fit. If you have an AMD dual-core CPU: 3.0GHz or higher is the minimum I'd recommend. If you have a tri- or quad-core CPU: 2.4GHz or higher seems like it will be enough. If you have a CPU from before June 2007, even if it's dual-core, it will probably not be enough unless you have it running beyond 4GHz. For Windows XP, 2GB RAM should be enough to play this game. For Windows Vista, you'll need at least 3GB. I find that this game uses up to 1.5GB of physical RAM, plus some virtual memory. In-game settings: I set my resolution to 800x600. This reduces memory stress on the graphics card. In conjunction with forcing your native resolution (ie. 1920x1080) through commandline.txt, this forces lower-resolution textures and effects to be produced in the game, while the actual game itself is rendered at your native resolution. Important note: If your video card has "DDR2" memory, even 256MB of its video memory (even if it has 1GB) might be out of reach. So, don't put its resource usage beyond 256MB. On "GDDR3" with 256-bit bus, 512MB is the realistic maximum, but you can try to use more if your card supports it (basically, bus-width * 2, so a GTX 280 with 512-bit bus can use 1GB). For GDDR4 and GDDR5 cards, I'd try bus width * 4 (so 256-bit = 1GB). Of course, these are maximum limits I'd set, your video card might not even have that much memory. Then, you will want to set the other settings according to your CPU and GPU ability. This is a good order to change them in, but first set them all to 0: Shadow Density to 0 is good, it looks better to some. I wouldn't enable it on a dual-core system. It seems to be both CPU and GPU bound, for some reason, unless I screwed something up. Depending on how fast your video card and CPU are, change the Texture Quality and Render Quality. On my 8-core + 8GB + 8800 Ultra, I set these both to max (high and highest). However, on my dual-core at 3GHz + 4GB + HD 4850 512MB, I set them to high and high. This way, the large textures are taking up more of the 512MB memory, and the rendering is not so high that my video card will become the bottleneck. Detail Distance is CPU and GPU, or so it would seem. I'd set this to below 30 on low-end systems, up to 100 for tri/quad and high-end video cards. Vehicle Density is more CPU- and memory-bound. I would set this to 0 on all dual-core systems below 2.8GHz. Tri- and quad-core systems should be able to set this up to 100. View Distance is video memory intensive. I would change this last. You can put it to whatever maxes out your video memory usage at the bottom of the screen (keeping in mind my important note about video memory). Write down all of these settings as numbers, you'll need them. Note that "texture quality" is on a scale of 0-2, and "render quality" on a scale of 0-4. Also write down your "resource usage". commandline.txt Here, I have applied the following settings on an Intel Celeron E1200 at 3GHz, 4GB RAM (DDR2-750), ATI Radeon HD 4850 512MB GDDR3: -height 1080 -width 1920 -availablevidmem 0.49 -refreshrate 60 -texturequality 2 -renderquality 3 -viewdistance 70 -detailquality 30 -shadowdensity 0 -novblank -minspecaudio -noprecache The first two lines are setting my display's native resolution of 1920x1080. Change these to yours. Only necessary on LCDs, CRTs can use any resolution their monitor supports since it does not have fixed pixels. The second line is forcing my video memory to 49% of my card's actual memory. GTA IV will automatically attempt to increase the resolution if there is enough video memory left to go higher, so you need to force it to THINK that there is not enough memory to go higher, thus keeping it at 800x600. availablevidmem is a percentage. Remember "Resource Usage" in the game? We are going to divide it as A / B. So, if it said 400 / 500 MB, then 400 divided by 500 = 0.8. Round this up to two decimal places (x.xx), and add +0.01 if you like. So, we'd be setting 0.81 in this situation. refreshrate is my refresh rate of 60Hz, not really necessary. It's more important for displays that can handle texturequality and renderquality should be what you set in-game. viewdistance should be increased beyond what we set in-game. You probably managed to get it to about 20-40. The ideal setting here is between 40-80, depending on how good your graphics card is. I set 70 on HD4850. detailquality should be set to whatever you had in-game (Detail Distance). shadowdensity same as in-game. You can remove -novblank if you want to keep vsync. minspecaudio slightly reduces CPU usage by audio resources by reducing its quality. You can remove -noprecache if you are not having problems with the game getting stuck at the loading screen. fragment.xml On dual-core systems, it would be wise to change the draw distance. On AMD triple and quad cores below 2.8GHz, you also might want to change it. This file: /common/data/fragments/fragment.xml contains this line: <GlobalMaxDrawingDistance value="1000.000000"/> You will want to change 1000 to something lower. On dual-core, I'd set this between 200 and 700, with 700 being for dual-core CPUs 3.4GHz. I set it to 400 at 3GHz. Intel quad cores should be fine at 1000. Again, I am not saying this will work. I am just hoping to get a few of you people to test this out to see if it makes any difference for you. STOP posting this sh*t idiot. Its nor working!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Only way is wait 2-3 years and buy high-end PC then. Link to comment Share on other sites More sharing options...
postem Posted January 5, 2009 Share Posted January 5, 2009 Hey pal, -minspecaudio is broken. It severely limits fps. I tried it. With it, my frame is broken at 35 at best. Without it, frame goes from 35 to 60. Link to comment Share on other sites More sharing options...
S_G Posted January 5, 2009 Author Share Posted January 5, 2009 Windows wont allow me to edit the fragment.xml file.It says it is "read only" file How do I do this? Right click on fragment.xml, uncheck "read only". Edit the file, save it, and then set it back to read-only again. STOP posting this sh*t idiot. Its nor working!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Only way is wait 2-3 years and buy high-end PC then. Spam much? Hey pal, -minspecaudio is broken. It severely limits fps. I tried it. With it, my frame is broken at 35 at best. Without it, frame goes from 35 to 60. Hmm, that's interesting. This warrants more testing. Thanks for the info. Link to comment Share on other sites More sharing options...
Pixelated Posted January 5, 2009 Share Posted January 5, 2009 Hey pal, -minspecaudio is broken. It severely limits fps. I tried it. With it, my frame is broken at 35 at best. Without it, frame goes from 35 to 60. I think this is a hardware related issue. On my PC it works fine. It doesn't limit the FPS but I do know what you're talking about. In the first week there were a lot of people who used this setting and when they removed it it resolved the low FPS problems. Could be that it only effects those with onboard sound. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now