Forum

rates, cl_interp, interp_ratio....

Created 18th October 2008 @ 19:56

Add A Reply Pages: « Previous 1 ... 6 7

AnAkkk

No I don’t have a server, and feel free to believe me or not, I don’t really care.

BTW maybe you should read that http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

Cloud

.wldcrd!

Your rate is limited to 60000 by the etf2l config afaik, which means at most you will be receiving 60,000 bytes per second of game data, or 58.59375 KBps, according to google calculator.

Since each packet is about 1000 bytes, this means at most you can receive 60 packets a second, as such you want to set cl_updaterate to 60, assuming you can sustain a solid 60+ FPS.

You want your cl_cmdrate to match this, but for some reason it actually sends less packets than you specify, and after some testing I found setting it 2 above what you want tends to give you the correct amount most of the time, hence you want cl_cmdrate 62

Then for the cl_interp setting, the game uses this to determine how many milliseconds to smooth over, basically. As such you want it to be set to the amount of time needed to receive 2 packets, as this way even if it loses 1 packet, it will always have another to smooth with, easing any lag. Contrary to popular belief, on a hitscan class this will not affect accuracy at all, unless you like your lovely placebos :)

On classes that use entities for weapons, reducing the value to that of 1 packet will give you your projectiles appearing faster, so for soldier, there is less of a lag between hitting fire and the rocket coming out.

As such, if you play a hitscan class, you want to set your cl_interp to (2*1)/60
(which is 0.033). I personally have it smooth over 3 packets though, just in case I lag a little more, so I use 2/60 + 1/60, giving 0.049.

Playing a class with entity based weapons such as demo or soldier, you may want to simply use an interp of 1/60 (0.016), your choice. – Though, I believe the interp value will be limited to 0.033 minimum at these values ANYWAY, due to the equation below, can’t remember if it’s the minimum or not.

Note that this is using a cl_interp_ratio of 2, the default, but they’re related in the equation: cl_interp = cl_interp_ratio / cl_updaterate

Though just setting your ratio to 2 and working from there is easiest.

IMO, ETF2L should raise the rate cap to 66000, just so there’s actually a reason to use cl_updaterate of 66, and raise the cmdrate cap to 68, since as I stated earlier, the cmdrate value is not always strictly adhered to by TF2, but raising it to 2 above the desired value seems to work 99% of the time.

Tested this with various friends, playing in pub servers and competitive ones, all have said this has felt better, aside from on a SELECT few public servers where they have crappy rates, which simply dropping them down temporarily with a cfg and some binds does the job. :)

Remember, you need a solid 60+ FPS for this to work, if you get lower fps (why are you playing with less than 60? :P), there’s a link below if you want to figure out the maths, but I’d personally say to get an FPS config ;)

Info taken from http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking – please read it properly before coming and proving me wrong! :P


Last edited by Cloud,

octochris

(0v0)

Quoted from AnimaL

what exactly does it fuck up… im stupid and ive played on updaterate 100/interp 0.0201 whole life

as far as i know, if updaterate is <100 it affects interp once you use it below 0.03

check net_graph, you will not be getting 100 updates a second.

AnimaL

using 0.49 interp is bollocks

btw, yes chris look at net graph, once ur interp is orange ur rates are too high/update rate too low… 100 updaterate and 0.0201 is the minimum to not get any lags

even if you do send out 30 useless packs per s, or update ur game 100frames per sec, whats wrong in that? interp is still faster isnt it

ninja edit:
The Source netgraph now includes “lerp” indicator which shows the actual interpolation amount (usually 100 msec unless the server or user is forcing non-default settings). The indicator will turn yellow if the server’s framerate (actual framerate on the remote machine) drops below this interval. This can be used to figure out why all of the objects in the world are no longer moving smoothly. In addition, the indicator will turn orange if the user or server has tuned the ConVars such that the interpolation amount is less than 2 / updaterate. This indicates that if there is any packet loss (or possibly choke if the choke is occurring for long periods of time due to large packets being sent over a low bandwidth rate setting) that the player will likely see sluggishness in the game.

so.. idd, going below 0.03 means u either will experience lag with choke, or u need pc that renders updaterate to 100fps and can go down to 0.0201


Last edited by AnimaL,

Cloud

.wldcrd!

Also had a look at cl_smooth, it seems turning it off will in effect give you better movement accuracy, as the other player’s clients will not be predicting where you’re going, but waiting for the server to tell them, and interpolating between with the packets they’ve been sent. This will effectively mean hitboxes will become slightly smaller for everyone looking at you if you were strafing left/right, in my understanding. (The server predicts your input and then sends to everyone else, but if you’re making fast strafes left/right the server may not be updating fast enough to predict this properly)

It may have the small disadvantage of occasionally feeling slightly laggy, or warping, but only if you were lagging anyway it seems, so yeah.

Please correct this if I’m wrong, someone :)


Last edited by Cloud,

octochris

(0v0)

Quoted from AnimaL

once ur interp is orange ur rates are too high/update rate too low

er, no, orange is fine, it just means that you are requesting the raw (max) number of packets being generated by the server.

yellow and red are the problem colours, orange is just a warning that you need every update.

Quoted from AnimaL

even if you do send out 30 useless packs per s, or update ur game 100frames per sec, whats wrong in that? interp is still faster isnt it

no… the interpolation relies on new packets with new data to ‘guess’ (not technically correct but meh) the data between updates.


Last edited by octochris,

Cloud

.wldcrd!

Quoted from octochris

[…]

check net_graph, you will not be getting 100 updates a second.

Yeah, but in practice that means nothing, because the game also knows you’re not getting that 100 updates a second, especially with the etf2l cfg limiting updaterate and such, so it evens out with the games calculations in the end. Unless you have some massively whacked out setting of course

AnimaL

i like clouds interpretation about cl_smooth

anakin, you must have smth to add? :D

Add A Reply Pages: « Previous 1 ... 6 7