H|H ~ The Hampshire Heavies Community : Forum
http://www.thehh.eu/forum/

Performance
http://www.thehh.eu/forum/viewtopic.php?f=17&t=387
Page 1 of 2

Author:  PiLsY. [ Sun Jan 06, 2008 5:39 pm ]
Post subject:  Performance

I don't use much, but I'll post up what I do use.

Config commands for performance....

fps_max "50" ///Sets max fps to 50 - you don't need higher and more will increase your server updates and lag (probably)
r_sse2 "1" ///turns on SSE2 - should be on for all Athlon 64 and P4 / Core 2 / CoreQuad systems
r_sse "1" /// Turns on SSE - should always be on.
r_mmx "1" /// Turns on MMX - should always be on.
cl_forcepreload "1" //// Loads all map textures and sprays from players before joining - stops loading pauses in game.
rate "50000" /// Sets the bandwidth that TF2 will try to use for netgames. Default is 35000 which stands for 3500kbps or a 3.5mb connection. Anything over 50000 makes no difference.
cl_cmdrate "10.000000" ///Sets the rate of updates per second you send to the server, lower is better, but takes some getting used to as it "feels" different. Significantly reduces server lag. Tweak this as it depends on feel. Dont recommend lower than 10 or above 25.
cl_updaterate "50" ///Sets the rate of updates you get from the server. You want this high so you can receive as much data as possible, thereby increasing the accuracy of the netcode prediction engine. Too high and you get lag, too low and you get outdrawn in a confrontation.
muzzleflash_light "0" ///Turns off muzzleflash when you fire, may affect flamethrower, dont know. If muzzelflash annoys you turn it off, if it doesnt leave it on.
fov_desired "90.000000" /// sets your field of view to a 90 degree angle in front of you. Default is 70. If you can see more stuff you can kill more. No brainer!
r_eyemove "0" /// Stops eye movement of models. If you can imagine all those eyes moving on all those players - well worth turning it off. Good increase in FPS and a noticeable decrease in ping (about 5 - 8).
dsp_slow_cpu "0" or "1" /// Turns off high quality audio - good if you're on an older pc, otherwise leave it at 0.
dsp_enhance_stereo "1" /// Sets surround sound audio to enabled



I would also recommend making your config.cfg file read only to stop patches changing things. Either that or make your own script (call it tf2.cfg) and bind a key to execute it, ie: bind KP_ENTER "exec tf2.cfg". As long as your config.cfg file is read only and has the command unbindall at the top any changes you have made will be reverted next time you quit and reload the game (until you run your script again).

If anyone else would like to add anything else please feel free and ill edit this main post so its all in the one place for referal.

Matt.

Author:  i pwn [ Mon Jan 07, 2008 11:30 am ]
Post subject:  Re: Performance

Just make a file called autoexec.cfg - it is loaded automatically, and overrides config.cfg

By the way, cl_cmdrate and cl_updaterate determines the amount of data packages sent/received per second. Would be better to have those at the same value as your maximum FPS - else you'll actually see less on your screen, than what is happening on the server, having the void filled with false movements...

I have a FPS of 60 because of my monitor, so i have cl_cmdrate & cl_updaterate at 60 also, meaning i send and recieve a fresh package of data each time my computer renders a frame.

With a lower cl_cmdrate and cl_updaterate you'll get a lower ping. But watch it - lower ping does NOT equal better net configuration. Of course you will have a low ping if you're only seeing half of whats going on - I'd rather have a moderate ping, and know that even if i shoot then 60th of a second later the server will register it. Instead of relying on lag compensation and all such other crap.

When i played CS way back, i used cl_cmdrate & cl_updaterate 100, and ran the game at 100FPS. However, I'm so annoyed by screen tearing now, that i play with vertical sync on in all my games, hence I'm restricted to 60FPS these day ;) The idea is: I want to send my response to the server as quick as possible, and receive all the information possible as quick as possible - worked very well, since no matter how fast i reacted i would hit where i point at my screen. (Not at all something you should expect - its an Internet game, and there's always delays)

Btw 10 or 25 cl_cmdrate is ridiculous - you see an enemy and fire, and the message is sent several miliseconds later? How can you play like that - everything you do will be delayed? Don't do it if you're sniper at least lol =P You won't hit what you point at.

Here's my settings:
Code:
// Netconfiguration
cl_allowdownload     0
cl_allowupload       0
cl_downloadfilter      "nosounds"  // No bloody custom sounds!
fps_max         60      // FPS maximum
fps_modem         60      // Minimum FPS
cl_cmdrate          60      // Rate of commands
cl_updaterate       60      // Rate of updates
rate            40000      // Connection rate

// Game Appearance
dsp_enhance_stereo    1      // Enchanced audio
hud_classautokill    0      // No death on class selection
cl_hud_minmode       1      // Minimal HUD
sensitivity         3      // Mouse sensitivity
fov_desired         90       // Field of view
hud_fastswitch       1      // Fast weapon switching
mat_picmip           -10       // Very High textures
mat_parallaxmap       1       // Enable parallax mapping

// QuadCore goodness!
r_threaded_particles    1       // Multithreaded particles
r_threaded_renderables  1       // Multithreaded rendering

Author:  Khola [ Mon Jan 07, 2008 11:59 am ]
Post subject:  Re: Performance

didnt know about this one -
Quote:
fov_desired "90.000000" /// sets your field of view to a 90 degree angle in front of you. Default is 70. If you can see more stuff you can kill more. No brainer!
- does it affect the look of the game at all?

have avoided messing around with cosmetic stuff so far as on the new system the game runs and looks great.. but if I can kill more stuff, then hey :mrgreen:

So i just structure a notepad file as above and slam it in the directory? Reminds me of the old days of autoexec.bat and config.sys- Ill give it a whirl. Maybe a simplified guide would be handy for some?

Author:  PiLsY. [ Mon Jan 07, 2008 12:19 pm ]
Post subject:  Re: Performance

Defaults are updaterate 35 and cmdrate 25. I can assure you I don't have any problems hitting anything...well most of the time anyway and im sure that's not down to my setup :). At least with netcode turned on....off is a different matter. As regards seeing less on your screen...that's the point. Reduce the amount your pc has to send and improve response and smoothness of the game, at the same time increase the amount you receive from the server so your "screen" is updated faster. In real terms I havent noticed any ill effects, as you said my cmdrate means I send updates every 0.1 seconds and receive updates every 0.02 seconds

I simply cant run with cmdrate over 30 or updaterate over 50. I get massive lag through netgraph and people lag all over the place. It simply chokes out my connection (90 - 100%). this could just be my connection, but on 6.5mb adsl I'd be surprised (and disappointed!). Remember cable users (dunno if that applies to you) have a far better gaming capable connection and can run higher rates all round.

Reducing the data sent and increasing the data received will significantly reduce any choke you have.

If you increase your updaterate too far you'll get packet loss, so realistically its quite easy to find your own sweetspot. You just increase updaterate until you get loss then back it off until its loss free again to find your max. Then tweak cmdrate based on how the game feels to you, as I said I prefer it at 10 to any higher as i start to get connection choke. I found that as I increased updaterate I had to decrease cmdrate by an equal amount. However as Mr.pwn said he runs with very different settings ;).

You'll need netgraph turned on to tweak everything. The console command is net_graph 3 .

Also remember ping is not latency. Your latency can't be tweaked much but your ping can. With default settings my latency is 65 or so and my ping 70. With my settings as above my latency is down to 55 and my ping between 5 and 20 and the game feels much smoother and more responsive.

Another thing worth noting, apparently fps_max no longer affects your latency, so the need to have 1/2 fps_max as cmdrate and updaterate equal to fps_max is no longer there. I've noticed no difference to ping or latency changing fps max. Mines set at 50 purely because I don't need any higher. You can't see over 25fps anyway apparently, though im sure I can see flicker up to 35, so I hedged my bets and went for 50.

Not disagreeing, happy to have anothers experience to add to the post :). It clearly works for you, so others should benefit as well. I'd guess we're both trying to achieve the same thing, its just my connection doesn't seem to be able to handle as much data at once as yours, so i've gone for faster server updates and reduced local upload. If I could run both high with no ill effects I would! Everyone's computer reacts differently, and how you play will depend on which setup you prefer.

To sum up, starting point - net_graph 3 . Check the readout, red lines are packet loss, blue width on the graph is choke. These are also displayed in % form as well. To reduce choke reduce cmdrate, to reduce loss reduce updaterate. Run both as high as you can without loss or choke. Remember to check this in spectate mode over a busy map area to get a true reflection of gaming. Decide for yourself whether you prefer high cmdrate or high updaterate, each provides a different feel to the game. If you can run them both high do so. I've never found any benefit going over 50 on either, infact it screws things up for me. As always, your mileage may vary....


Khola, it looks slightly different, but imo better. You can actually change it now in tf2 options using a slider (think its on the advanced buttom under graphics options, on the work pc so not got it in front of me. I'll tidy this all up once weve had some feedback. This is all still based on my personal experience and may vary between computers, connections and gaming styles. the basics behind it all should be applicable to everyone though. This is more fine tuning really, like when you buy a tv...still have to tune in the channels :).

Author:  i pwn [ Tue Jan 08, 2008 12:46 am ]
Post subject:  Re: Performance

Khola wrote:
didnt know about this one -
Quote:
fov_desired "90.000000" /// sets your field of view to a 90 degree angle in front of you. Default is 70. If you can see more stuff you can kill more. No brainer!
- does it affect the look of the game at all?

have avoided messing around with cosmetic stuff so far as on the new system the game runs and looks great.. but if I can kill more stuff, then hey :mrgreen:

So i just structure a notepad file as above and slam it in the directory? Reminds me of the old days of autoexec.bat and config.sys- Ill give it a whirl. Maybe a simplified guide would be handy for some?


Well it changes your viewpoint ;)

Normally TF2 has a 70 degree viewpoint, meaning you can perceive 70 degrees around you. 90 allows you to see, well, 90 degrees around you ;) If you feel fine with the normal settings just stick with it - but other games usually use 90, and some even get dizzy playing at only 70 degrees. There's really no other advantage - sure you'll see, very little, more at a time, but i doubt matters much. I just prefer a FOV of 90, makes the game appear more natural to my eyes ;)

PiLsY. wrote:
Another thing worth noting, apparently fps_max no longer affects your latency, so the need to have 1/2 fps_max as cmdrate and updaterate equal to fps_max is no longer there. I've noticed no difference to ping or latency changing fps max. Mines set at 50 purely because I don't need any higher. You can't see over 25fps anyway apparently, though im sure I can see flicker up to 35, so I hedged my bets and went for 50.


Actually the human eye can perceive way more ;) We're talking past 100. Even 200 :) However, the notable difference between say 100 and 200 frames per second is barely noticeable, less then say between 50 and 60 frames per second.

Also, there's a big difference between the images we see in the world, and those of a computer game. Images captured from the world is not a single period of time, but a span of time. A game is perfect, hence it is a single period of time. Therefore images we see in the world, captured through our eyes, or through a camera, have a natural motion blur as we see several frames blended together as one image. Since games does not blend them together, they gotta simulate this through motion blur filters etc. Also its why movies at 25FPS appears much more smooth than a game at 25FPS - movies contain a natural and smooth transition between the frames, where games abruptly change to a new. Therefore with high frame rates, our eyes do the motion blurring and makes it look natural ;)

Of course TF2 has motion blurring, but its fake :)

And its also why a motion picture of 25 FPS appears much more smooth than a game at 25 FPS, because on the movie each frame carries after-images from the past - a smooth transition. In that sense, computers are too precise - making it feel uneasy and jagged, even if its the exact same amount of images displayed. Hence computers gotta cheat and imitate the blur ;)

Actually you can in theory gain an edge in games from high frames per second, as you are able to perceive them and respond - hence quicker reflexes. Remember your monitor must have this FPS - having more FPS in the game than the screen shows is just wasting energy on images not being shown anywhere... However it did help in Counter-strike based on Goldsource, because that game refreshed the game code at the pace of the FPS - therefore more FPS, more calculations being done, aiding the games performance in network games. (You right PiLsY, my stuff about cmdrate = FPS is probably no longer true, as far as i understand Half-life 2 does not calculate its game code at the pace of the FPS, but in its own solid pace)

Rusty. Which reminds me, going to an exam in this stuff in two weeks. Yikes, gotta read up hehe!

PiLsY. wrote:
Not disagreeing, happy to have anothers experience to add to the post :). It clearly works for you, so others should benefit as well. I'd guess we're both trying to achieve the same thing, its just my connection doesn't seem to be able to handle as much data at once as yours, so i've gone for faster server updates and reduced local upload. If I could run both high with no ill effects I would! Everyone's computer reacts differently, and how you play will depend on which setup you prefer.


:)
I'm looking into some of your commands too!

The precatching sounds awesome, avoids stutter :)

Author:  PiLsY. [ Tue Jan 08, 2008 11:33 am ]
Post subject:  Re: Performance

I didn't know exactly how fps_max linked to performance previously, just new it did - cheers dude I've been educated :).

Changing to FOV 70 was a weird move IMO. Previous games (even hl based games) have always been 90 so why change? Odd.

I tried your settings last night mate and its totally unplayable. People move in 5 metre jerks and I get a half second or so delay on input responses. Guess its highly dependant on your connection and everyone will have to tweak the settings to suit themselves.

Regards motion blur - I turned it on a week or so ago and it makes the game MUCH better for me. I'm finding i'm more accurate. Go figure.


Regards input quality, turning off "enhance pointer precision" under your mouse properties helps. You should also turn off mouse acceleration in tf2 via config. You should have m_filter "1" in your config.cfg already, if its set to 0 change it.

My settings are below:

sensitivity "8.0" //adjust to suit
m_customaccel "0"
m_customaccel_exponent "0"
m_customaccel_max "0"
m_customaccel_scale ".0"
m_mouseaccel1 "0"
m_mouseaccel2 "0"
m_mousespeed "1" //Windows mousespeed multiplier. The higher your mouse resolution the lower this should be. Below 1 reduces the sensitivity, above increases. Scale 0.001 to 20.

Below is an example setup for a low dpi mouse:

m_pitch ".004"
m_filter "1"
sensitivity "20"
m_side ".8"
m_yaw ".004"
m_forward "1"
m_customaccel "1"
m_customaccel_scale ".9"
m_customaccel_max "0"
m_customaccel_exponent ".6"
m_mouseaccel1 "2"
m_mouseaccel2 "0"
m_mousespeed "1"

And a high dpi mouse:

sensitivity "1.0"
m_customaccel "1"
m_customaccel_exponent "1"
m_customaccel_max "0"
m_customaccel_scale ".03" //adjust to suit
m_mouseaccel1 "0"
m_mouseaccel2 "0"
m_mousespeed "1"

Obviously all settings are with "Enhance pointer precision" disabled in windows and will depend on your windows sensitivity. You should get nice smooth input in game, so I'd use the windows sensitivity slider to adjust things as the console commands above are all balanced against each other.

To run this without messing with your settings add the following line to your config.cfg file:

bind "0" "exec mouse.cfg" //change key to suit

And create a new file in your config folder called mouse.cfg and paste the commands into it.

Voila!

Additional: Forgot to mention, if your mouse still seems to be accelerating you needthe windows XP mouse acceleration fix. You can download it from here: http://www.gotfrag.com/portal/files/82/

Author:  innocent [ Tue Jan 08, 2008 1:02 pm ]
Post subject:  Re: Performance

long topic but this needs to be stickied.

also yeah, i was under the impression that cl_cmdrate and cl_updaterate needed to be A> the same and B> as high as possible. Sure it causes more lag so basically you need it as high as your bandwidth will allow, but having high rates lets you react quicker all round and reduces "weird ghost kills" where you walk past a corner and find yourself dead, only because the server was too slow in letting you know you were getting short BEfore the corner.

I'm pretty sure im running my tf2 at rates = 10000 and cl_rates both around 60 odd.

(when you see a server saying it's playing at 100 ticks or 66 ticks etc, im pretty sure that means the cl_update and cl_cmd rates, and it means having them both at the same value).

Author:  PiLsY. [ Tue Jan 08, 2008 3:58 pm ]
Post subject:  Re: Performance

10000 is awfully low mate?

IIRC when you choose your connection in the hl options it sets approx the following:

28.8k - 2500 rate
56.6k - 5000 rate
ISDN - 8000 rate
ADSL - 12000 rate
T1 / Lan - 35000 rate

Now I run at 50000 which reserves 5mb of my adsl line for gaming. Above that and it starts trying to hard and causes lag. Below and i'm not using as much as I have available.

Your rate is the overall bandwidth control for source games. If you have it too low it won't matter what your other settings are as it simply won't be able to receive enough data to get or give that many updates. If I change my rate to 25000 updaterate has no effect above 35 as it doesnt have the bandwidth available to pull down the additional updates you are requesting.
Real world example - Rate is a box, your cmdrate and updaterate are things to put in the box. If your box is small it won't all fit and some will be left behind. If your box is big but the things to go in it are small you're wasting space. And if your box is too big and you have too much to carry in it you put your back out trying to lift it :lol:.

Source netcode tweaking is just primary school tessellation! ;).

Author:  i pwn [ Tue Jan 08, 2008 7:06 pm ]
Post subject:  Re: Performance

PiLsY, i tried the mouse tweaks, but i must admit, i cannot play with acceleration at all. With m_customaccel 1, the mouse accelerates, hence the same movement have different length depending on the speed of the movement. Yuck hehe ;) I'm used to a low sensitivity and doing fast and large movements - with acceleration it goes crazy, making me do turn 360 degrees hehe :)

Therefore i use the same as you:
(Except the sensitivity - i like it low)
Code:
// Mouse settings
sensitivity       3.0      // Mouse sensitivity
m_customaccel       0      // Custom mouse acceleration off
m_customaccel_exponent  0      // Multiply with power
m_customaccel_max    0      // No scaling limit
m_customaccel_scale    0      // Custom acceleration value
m_mouseaccel1       0      // No windows acceleration
m_mouseaccel2      0      // No windows acceleration
m_mousespeed       1      // Mouse speed


For some reason i can only use r_sse2 on my Intel Core2Quad processor - seems the other technologies have been left out. Guess Intel didn't feel they needed them anymore ;)

I'm gonna test with some higher cl_cmdrate and cl_updaterate - my connection is only 4mbit, but it is very steady, and it seems to be able to pull a great and reliable ping. Wanna make it sweat ;)
I'm quite sure its not just bandwith that determines the efficiency in game - best connection I've had was a 512/512Kbit Boomtown connection, specifically made for multiplayer gaming. There was no lag, ever ;)

Author:  PiLsY. [ Tue Jan 08, 2008 10:19 pm ]
Post subject:  Re: Performance

64k cable on NTL around 7 or 8 years back was awesome. Pinged between 2 and 10 in hl mods, even to servers as far as germany. Even pinged lower than a 100mbit lan at times.

Wish I knew what the formula was? Could do with some of that ;).

I'm an acceleration hater - I remember changing from windows 98 to XP and going around a month without hitting the broad side of a barn until I accidentally found the tickbox. Do you have enhance pointer precision checked in windows still or have you turned that off as well as in game acceleration? I found I had to go from 5 to 8 sensitivity in game when I turned the windows acceleration off, but its tons better.

Page 1 of 2 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/