|
|||||||
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
|
MC John-117
Join Date: Jul 2003
Location: Phoenix, Arizona
Posts: 729
Rep Power: 0 ![]()
|
ATI, Counter-Strike, and FPS
As most of you already know or possible be one, alot of people have been saying they have very unstable FPS in Counter-Strike with ATI cards. So, I thought I would look into the matter, and see what I could come up with.
System Specs: AMD Althon Thunderbird 1.2 Ghz 1 GB Kingston PC133 Western Digital 60 GB @ 7200 RPM ATI Radeon 9700 Pro 128MB Sound Blaster Audigy Gamer Windows XP Pro SP1a Omega 2.5.22 (Based on Catalyst 4.2) RadLinker (Bundled with Omega 2.5.22) Steam Counter-Strike 1.6 I know I don't have a powerful PC at all, but I am looking at FPS stability and trying to improve FPS. Yes, I can confirm the FPS is very unstable. I tested every part of CS you can test, monitored FPS constantly, and I have come up with this. The maps and gun models don't effect CS's FPS that much. I would rumor around several maps by myself and I would MAX out 99, it got to 70 sometimes on very graphical, and big maps. My low CPU is probably causing this issue for me. I believe the problem to be the player models. The strange thing, I found out was, that it didn't how many player models where in my screen, and it still stayed the same FPS. When beginning the round (was CT) I would look around at everyone and my FPS was 30-50 (was very jumpy). When I followed around two guys, I stayed behind them to montior my FPS, and will it was at 30-50 FPS. So, I decided to turn and look at a wall, and wouldn't you know it. It went from 30-50 to 80-99, I didn't get to test it long because I was getting shot at. I also tested out flash and smoke. When you are alone, flash and smoke doesn't effect your FPS much at all. But, if you have any player models in view when you get flashed or see smoke, then you will get bad FPS. Because of the player models. Direct 3D vs. OpenGL Direct 3D I don't recommend using Direct 3D with CS, I received horrible FPS. It got down to the 20's with just a few player models on dust map (not a very graphical map at all). OpenGL I recommend using OpenGL. It's alot smoother and better FPS all around. Tweaks I did try lots of tweaks. Console Commands and using RadLinker. As for Console Commands, first off I found that my fps_max was set to 72.0, fps_max 72.0 means CS will only go to a MAX of 72 FPS. So, I upped it to 100, and that's why I get 99 at times. To change the fps_max, hit the ~ key and type in fps_max 100.0. Also, I read that fps_modem will help, but it didn't help at all. I have tried disabling shadows and so forth, but didn't effect my FPS at all. Well, with RadLinker. I found it useless with CS, I changed every Direct 3D and OpenGL setting. All it did was make the map look all blurry and crappy. It didn't effect models or anything like that. I personally see no way of fixing the FPS problem right now. It's got to be either a driver issue, in the coding of CS, or the models aren't optimized like they should. I do not have an nVidia card to test to see if it is a driver issue or not. I'm not saying this is the exact cause or anything. This is just my opinion after testing and playing around with CS. So please don't flame me...
__________________
[color=red] [/color]
|
|
|
|
|
|
#2 |
|
Burning the frozen...
Join Date: Sep 2002
Posts: 1,202
Rep Power: 0 ![]() |
... you know. Its odd. After all this time people still aren't aware of the major things that 'upset' CS. I would think it common knowledge by now... but I'll answer your question. If it is your models its due to a little feature known as truForm. The 9700PRO emulates truForm through software unlike the 8500Pro(which also runs Truform like crap in halflife). You can a)turn the truForm down or b)Disable it. As I cannot remember the command to turn it down and planet halflife seems to have removed it just go into your card's openGL properties and tell it never to use truform and see if that works.
Personally most high res models are not optimized for truform at all. A more... complete list of console commands are here: http://www.planethalflife.com/half-l...le/audvid.shtm |
|
|
|
|
|
#3 |
|
DriverHeaven Senior Member
|
Personally I have never had an FPS problem with CS with either a 3dfx, ati, or nvidia graphics card.
FPS issues in CS seem to have alot in common with connection problems and in particular alot of time speople neglect the rate command. While you may think it only effects your connection speed and latency it also cuts down on "guessed" frame and model positions. Have a look at the information I have compiled here for you. The netgraph is your ally in the fight to stabilize your connection. To view it type net_graph 1 in the console (console key = ` ). Warning: The net_graph will lower your frame rate when in use. Be sure to turn it off when you are playing and not tweaking ![]() 1: This area shows numeric information about the performance of your computer & its net connection. The numbers registered are as follows (based on the above snapshot). As shown, the client is rendering frames at 41.2 frames per second. The client believes that it has a 332 millisecond round trip message time to the server (this is a latency reading, rather than a pure ping, since it includes processing overhead on both ends). The last packet the client received ("in") from the server was 32 bytes long. The average data rate over the last second or so from the server has been 1.05 kilobytes/second & the last packet had 3 bytes of "player" data in it. On the other hand, the last command issued by the client was only 29 bytes long & the client is generating 1.31 kilobytes/second of upstream data right now. 2: Below the numeric readout is the well-understood green/red/yellow/blue readout that most users are familiar with. In particular, the height of the green line indicates how much latency exists in the connection for the specific packet received. The green lines max out at around 1000ms of latency, so our player here with 332 ms of latency has a green line that goes about 1/3 of the way up the area. The red vertical lines you see indicate dropped packets. In addition, if the client & server encounter severe connection problems, they can become so out of date that you will see blue lines similar to the red ones. Finally, if the bandwidth choke is active (your rate setting is holding back packets at the server because your connection can't handle them), then the green dot for the next packet you receive will be drawn in yellow instead. 3: Area 4 is correlated to how quickly the client is rendering frames. For each frame rendered, the graph indicates how much interpolation was used in drawing objects in the world. If you are not getting a sufficient number of server updates (Less than 10/second) or you drop enough packets, then the client won't be able to interpolate any more & will have to extrapolate instead. In that case, you'll see the lower part of the graph go above the grayish line (above the dark blue area) & turn yellow to orange/red depending upon how far out of date your data becomes. 4: The number here is the number of updates per second you are currently requesting from the server. The default is to receive 20 updates/second from the server. You can change this value by setting the cl_updaterate "x" cvar from the console. 5: This number is the maximum number of command packets you will send to the server per second. By default you send up to 30 command packets per second up to the server. If you are running faster than 30 frames per second, then multiple commands will be put into some packets. You can change the rate of sending command packets to the server by setting the cl_cmdrate "x" cvar. In addition, with each command, we re-send the last few previous movement commands (in case there is packet loss) so that we can keep moving smoothly in the face of minor network problems. The default number of "backup" commands that we send is 2, but you can change this number by setting cl_cmdbackup "x" to another number. You can send more than 8 backup commands & you should note that sending backup commands will increase your outgoing bandwidth usage. 6: The final area is the light blue & (sometimes) red line at the very bottom of the netgraph. This line is based on your framerate & your cl_cmdrate "x" setting. For every frame where a command packet is actually send out onto the wire, a light blue dot is placed on the graph. If commands are accumulated for deferred sending, you'll see a red dot instead. Try setting cl_cmdrate "x" to half your framerate to see the effect. net_graph 1: As shown above. net_graph 2: Same as net_graph 1, but with the addition of a graph at the top which gives indications of the size of the packets sent from the server. net_graph 3: Gives you basic information, but does not lower your framerate as much as the other two net_graph settings. Good Connection: Average Connection: Bad Connection: Net Graph Position and Size: net_graphwidth x x = Width. Default 192. net_graphpos "x" x = Graph position. Left = 0, Right = 1, Centre = 2 Try to ensure the graph is stable. I.e. the graph shown is moving at a constant rate and there are no peaks in it. If there are a few peaks play with the rate settings. Your aim is to get a nice green line, with no or little amounts of yellow. If you must know I personally use net_graph 3. Rate The command everyone should be able to tweak. The rate command sets the rate at which you transmit and receive data to the games server. First thing I've found is you get the correct rate after alot of tweaking. Using odd values rather than the increments of 500 and 1000 to work best when finding your idea rate setting. You can fiddle with it by bringing down the console (` key) and typing "rate" in a range of values until you're happy. A good way to find if the you're using rate correct, is to have net_graph on. There is a few guildelines you can use to rate your connection, but it really depends on you're overall setup. Here is a fully detailed table showing recommended settings, don't be afraid to tweak it to suit yourself though. LAN/T1/T3 cl_updaterate "40" cl_cmdrate "40" rate "10000" ADSL / Cable / Wireless cl_updaterate "40" cl_cmdrate "40" rate "10000" ISDN Bonded cl_updaterate "40" cl_cmdrate "40" rate "10000" ISDN Single (Stac/Microsoft compression) cl_updaterate "40" cl_cmdrate "40" rate "(See Table Below)" 64000 BPS : rate "8000" 56000 BPS : rate "7000" ISDN Single cl_updaterate "40" cl_cmdrate "40" rate "(See Table Below)" 64000 BPS : rate "6200" 56000 BPS : rate "5400" 56K Modem (Stac/Microsoft compression) cl_updaterate "30" cl_cmdrate "30" rate "(See Table Below)" 48000 BPS : rate "5800" 46000 BPS : rate "5500" 44000 BPS : rate "5200" 42000 BPS : rate "5000" 40000 BPS : rate "4800" 56K Modem (Hardware compression) cl_updaterate "20" cl_cmdrate "30" rate "(See Table Below)" 48000 BPS : rate "4600" 46000 BPS : rate "4400" 44000 BPS : rate "4200" 42000 BPS : rate "4000" 40000 BPS : rate "3800" V34 Modem (Stac/Microsoft compression) cl_updaterate "30" cl_cmdrate "30" rate "(See Table Below)" 33600 BPS : rate "4000" 31200 BPS : rate "3800" 28000 BPS : rate "3200" 26400 BPS : rate "3000" V34 Modem (Hardware compression) cl_updaterate "20" cl_cmdrate "30" To find your ideal rate setting first use the lowest rate value from the table related to your connection. Then go onto a server. Look at your ping. Now increase by +100 the value and watch your ping (wait 2 minutes between each rate change to allow time for connection to stablise at that new rate setting). Increase until you see your ping getting higher. Once it does that lower back down to the setting before and that setting should be the idea value for you. Pushlatency If you ever played CS on a LAN you'll know how good it feels to play in zero lag. Pushlatency helps bring back those feelings online. Watch your ping and check for your average ping. Then use a value that is the same as your average ping or a value that is 50% of it. Remember it's pushlatency -<number> If you forget the minus sign latency will be added! This is only useful if you want to play offline, and want to add lag. When online use a negative value to help your connection appear smoother. Tweakable commands cl_cmdrate Controls the amount of packets that are being sent to the server allowing you to tweak those bandwidth problems the rate above gives you a good idea of cl_cmdrate to use. cl_updaterate Appears to be the opposite of the cmdrate and depicts what game updates you receive. cl_lc To use this setting the server and modification must support lag compensation. When set to 1 the server will take into account your ping when deciding if you hit a player or not. If you have a very low ping or wish the older style of play then set this to 0. cl_lc 1 (default) Good Points: On a server that allows the function to work lpbs or hpbs with a decent connection can experience a more 6.1 version of aiming. Bad: Only works on servers that allow it and may not be beneficial to people with a bad connection. Note: Servers by default allow this function to work (sv_unlag 1). cl_lw This setting determines how weapons fire is controlled, for example with regard to sounds and animation. When set to 0 the client will perform as it used to prior to 1.1.0.0, the server returns/confirms weapon related fire information. If you set this to 1 the client weapon sound and animation will happen as soon as you press fire. It should be noted that when set to 1 the animations and marks displayed are determined client side, as a result they may not be an accurate representation of where you are actually hitting. You may find it useful to bind different settings of cl_lw and cl_lc for different weapons. It is very important to make sure that if you use a setting of 0 for cl_lw that cl_lc is also set to 0. cl_lw 1 (default) Good Points: Allows you to know when your weapons have fired due to the firing being controlled server side and not client side. Will again result in that beta 6.1 feel. Bad: Only useful for people with a good connection. You may also find it is not a true representation of were you're aiming. Recommended HPB - Ping (999-150): cl_cl 1 & cl_lw 1 (default settings) LPB - Ping (Below 150ish): cl_cl 0 & cl_wl 1 cl_showfps 1 Type this in the console to show your FPS (frames per second) in the top left hand corner. max_shells 0 Default is 120, but if set to 0 will stop shells flying out from your gun. Saves a few FPS. max_smokepuffs 0 Default is 120, but if set to 0 will stop the small smoke effects when you fire at any hard surfaces. Again will save you some FPS. fps_max x fps_lan, modem, have been removed and it looks like fps_max is the only command. Default is fps_max 72. fastsprites 0 Better smoke effects. 0 = high quality (looks like smoke), 1 = (default), 2 = very low quality Some of these settings may or may not work in CS 1.6. These were gathered from various sources as well as my own head.
__________________
E-bay feedback: http://feedback.ebay.com/ws/eBayISAP...me=STRK:ME:UFS |
|
|
|
|
|
#4 |
|
I = Greatest Dood
Join Date: Nov 2003
Location: Nebraska
Posts: 5,945
Rep Power: 54 ![]() ![]() ![]() ![]() ![]() ![]()
|
Twisted I have the same processor but it seems to everheat.... all the dang time... you get the same problem? pm me or if you have heard anything about this kind of trouble
__________________
Rock On \m/ Thank you Mousey for the Sig! --------------- ![]() Intel Core2Duo E6660 (3.4GHZ) ~ Tuniq Tower 120 ~ Enermax Galaxy 1000W ~ Corsair Dominator @ 1090MHZ 5-5-5-15 (OCZ XTC Modded Cooler)~ EVGA 8800GTX W/ HR-03 Plus 120MM ~ Asus DVD-RW LiteScribe ~ LG DVD-RW ~ Corsair Voyager 2GB ReadyBoost Drive ~ Vantec Nexus Fan Controller ~ ThermalTake Armor 25CM fan ~ Personal Finance Blog: Dent Your Debt |
|
|
|
|
|
#5 | |
|
DriverHeaven Newbie
Join Date: Apr 2009
Posts: 1
Rep Power: 0 ![]() |
Re: ATI, Counter-Strike, and FPS
Hello, I was browsing web in attempt to figure out what was the deal with my cs:zero, the first poster has or had pretty much exactly the same problem I'm trying to solve.
I got ati 3800 HD and 3.0 Pentium, all in all way above what cs zero needs, before upgrading to Ati I had some low end 128mb Nvidia card, which was fine for cs, I had no problems except smoke made me lag sometimes the problem definitely started with ATI. For the rest I got high speed connection and my rig works fine with other games, as it should, the problem is isolated to cs:zero, and it has nothing to do with ping - it's usually around 30-40 on most servers. Quote:
Since I'm a total noob when it comes to anything which has to do with graphic cards, I did the following(after googling how to turn Truform off) Started cs zero as usual joined a server, then opened up a console and typed: ati_npatch 0 entered then typed ati_subdiv 0 entered, looked like the command was accepted although nothing indicating it was wrong or otherwise. Restarted cs as I was told, not steam just the game. It didnt help, maybe I did smthng wrong I don't know, I doublechecked. Also I noticed that when I get the lag my fps rate doesn't change at all, the lag looks like I'm loosing control of my mouse. Please help. |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|