Increase those FPS

Started by OldBloke, July 10, 2002, 03:20:50 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

OldBloke

"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

Lord Fondlemaid

I think the first article was written by my good friend Goody, currently of clan stl.

:)

OldBloke

For those wanting to know how to tweak the connection when getting choke ....

Lifted from the excellent Summerblue report....

There are four commands which are configure the various aspects of client-server configuration;

cl_cmdrate is the number of times per second the client informs the server of its actions. Remember that the amount of data in an update depends on how much is going on.
cl_updaterate is the number of times per second the server tells the client what's been going on in the map. Likewise, more action, more data per update.
cl_rate sets a maxiumum limit of bytes per second the client can send the server. This value is necessary as the server cannot reliably determine the data transfer rate to the client. This value needs to be set to match the data upload rate of your connection to the server.
rate is the maximum limit of bytes per second the server can send to the client. sv_maxrate, the server specified limit, is used if rate is higher than sv_maxrate.

Updates from the client to the server usually contain very little data - perhaps 20 bytes. Updates from the server to the client contain (relatively speaking) a lot of data, from say 30 bytes in a quiet area of a map to 175 bytes in combat.

For example, a 56k modem has a maximum upload rate of 33.6k, and a maxiumum download rate of 56k. The values here are bits per second (e.g. 33600 bits per second upload rate). However, these are signaling rates, not data payload rates. The signaling rate is the number of bits per second; but not all of these bits can be used for data. Some - roughly 10 percent - are used for control information. So a 33.6k bits per second connection can in fact only transfer about 30.2k bits per second of real data, which is 3780 bytes - and this is the value cl_rate should be set to (assuming a perfect upload connection - if the modem is connecting over a noisy line and the data transfer rate is reduced, the rate value must accordingly be reduced).

Likewise, with a perfect 56k connection, 56000 bits per second are available. Reducing this by ten percent gives 6300 bytes per second. This is the value rate should be set to.

rate equals download speed times .9 divided by 8
cl_rate equals upload speed times .9 divided by 8

By and large, clients don't have very much to tell the server; client to server communication rarely suffers from bottlenecks even on a 56k modem.

Note that the control information overheads differ depending on the type of connection between the client and ISP, but that this is basically irrelevent for higher bandwidth connections since such connection types will always have much more bandwidth available than the maximum value the server will permit a client to use.

Fractional values for cl_rate and rate make absolutely no difference whatsoever. It is an urban myth that fractional values improve performance.

As previously mentioned, client to server updates are typically very small, in the order of 20 bytes. On a 56k modem with a perfect connection, 3780 bytes are available per second for updates to the server, so cl_cmdrate can be set 189. As it is, Half-life has a hard coded internal maximum for this of about 60.

Updates from the server to the client shift more data. Large updates (e.g. combat situations) take something like 175 bytes. With 6300 bytes per second available on a perfect 56k modem connection, cl_updaterate should be set to 36.

cl_updaterate equals rate divided by 175
cl_cmdrate equals cl_rate divided by 20

Players with broadband connections will have configurations very different to the values derived so far. Firstly, a broadband connection will always have more bandwidth available than the server can provide. As such, rate and cl_rate both need to be set to their maximum values so that the client is using all available bandwidth.

The maximum value for both rate and cl_rate is 20,000.

The calculation for the correct setting of cl_cmdrate and cl_updaterate actually usually depends on the particular server the player is connected to, as it's sv_maxrate value will be the limiting factor for available bandwidth, and available bandwidth defines the correct update settings.

As previously mentioned, Half-life has an internal hard-coded maximum of about 60 for both update settings. The recommended setting is therefore 75 (to be on the safe side), which should be reduced in line with the sv_maxrate setting as necessary.

The net_graph command provides information about the state of the client-server connection in the bottom right hand corner of the screen.

The field we are interested in is choke.

Choke represents the number of updates not sent in either direction because the the communication link is saturated.

(Loss is rather different and rarely used, and represents the number of updates which were sent but never reached their destination. If a player experiences significant loss their is a technical problem with the network connection, which lies outside the scope of this report.)

Leave net_graph running and monitor the choke value. Gradually reduce the cl_updaterate and cl_cmdrate values if choke occurs, until choke no longer occurs during comabt.

The overall goal is to have cl_updaterate and cl_cmdrate as high as possible (to provide a better illusion of uniform motion) while still ensuring choke is low or zero during combat.
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

DonkeyCheeseGrater

"You know, somebody actually complimented me on my driving today. They left a little note on the windscreen, it said \'Parking Fine.\'"

MisterEggs

i've followed all the rec. settings up there and bumped up the cl_updaterate and cl_cmdrate to 85 and i'm only getting the occasional 1 to 2 on choke. Now i don't get that horrible slide show effect anymore (is this improvements on the server or a result of me changing these settings? or a bit of both?) and it 'feels' a good deal better, but i still find that i'm getting shot by someone before i even see them. Does this mean i have to upgrade my vid card, or that i'm just frankly rubbish?
-=[dMw]=-MisterEggs

OldBloke

Quote...Does this mean i have to upgrade my vid card ...?

How may FPS you getting?
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

MisterEggs

QuoteHow may FPS you getting?

27. no...28....no...26...hang on...29...30....no...26....28...no...29....sorry...25...ooh no 29....err 24...ah 29..

:)
-=[dMw]=-MisterEggs

TeaLeaf

:oops: UPGRADE..........


 8)
TL.
Wisdom doesn\'t necessarily come with age. Sometimes age just shows up all by itself.  (Tom Wilson)
Talent wins games, but teamwork and intelligence wins championships. (Michael Jordan)

smite

I know some one who will have a gphx card going soon  :wink:
Madness is having mine when my new one comes and he will have a geforce2 mx going

MisterEggs

Oooh, sounds interesting.... esp as the only way i could afford a new card now is if i spent a few evenings on King's Cross, offering my 'wares'... but that always tends to leave a nasty taste in the mouth...ahem...

Any idea how much it might be?
-=[dMw]=-MisterEggs

JonnyAppleSeed

lol nothing would be worth the cost of that taste...but i bet smite thinks the oposite... :wink:
It is by caffeine alone I set my mind in motion. It is by the beans of Java that thoughts acquire speed, the hands acquire shakes, the shakes become a warning. It is by caffeine alone I set my mind in motion


Stryker

could you post a "lets have more sprays and bullet holes" howto please? oldie?  :-)

A full reinstall and I still got none of either.
-=[dMw]=-Stryker

Wintermute

How do you know how much choke you are getting?
[PCSM] Wintermute

The original PCS server:
http://www.xlii.com\\\' target=\\\'_blank\\\'>www.xlii.com

OldBloke

QuoteHow do you know how much choke you are getting?

Type this in console:

netgraph 3

Choke is displayed in bottom right.
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

MisterEggs

Quote
netgraph 3

Choke is displayed in bottom right.

i found this obscured the cash figures, so after a tip from Tealeaf, i think, i added

net_graphpos "0"

and then it's over on the bottom left of the screen out of the way.
-=[dMw]=-MisterEggs