I was going to post a reply to the zBlock thread but I thought I should evaluate on what cl_interpolate actually does... I myself used to use cl_interpolate 1 when I was able to maintain cl_cmdrate 100 and cl_updaterate 100, without any loss or choke. Unfortunately, I seem to have lost that ability and now get choke up into the 60's during firefights. After that, I decided to read into these source settings a bit more and figured that cl_interpolate 0 is definately the way to go if you CANNOT maintain cl_cmdrate 100 and cl_updaterate 100. Cl_interpolate 0 will LOCK the hitboxes onto the playermodel, thus resulting in the most accurate experience possible.
Cl_interpolate 0 = Hitboxes are matched to Player Model 100%.(Models may seem ?stuttery? at times)
Cl_interpolate 1 = Hitboxes are matched according to the server placement of that model. (Basic Sense)
http://justbi0.de/CSS_hitboxes.jpg
http://justbi0.de/hitboxes.avi
Of course, some will tend to disagree as cl_interpolate "1" was supposedly fixed but most evidence points otherwise. Also, because of the gaming popularity of the CPL, they do not allow cl_interpolate 0 because of dissapearing bodies, and stuttering player models.
Further discussion: http://forums.thecpl.com/cgi-bin/ultimateb...f=3;t=001048;p=
(From 2005)
Interpolate 0 is the only way to 100% ensure hit registration. Period.
For those of you who can use cl_cmdrate 100 and cl_updaterate 100 without any choke/loss, then this is for you.
cl_interpolate 1
cl_interp .01
cl_cmdrate 101
cl_updaterate 101
rate 25000
Of course due to the nature of the CPL, cl_interpolate 0 would not matter. Because cl_interpolate 1 is spectator friendly, it is used by the CPL.
For people who just start using cl_interpolate 0, you will have to get used to stuttering models at times, and people flying around corners. Once you get used to it though, let the headshots roll in.
Official Valve explanation of Source Multiplayer Mechanics: http://www.valve-erc.com/srcsdk/general/mu...networking.html
Here are the most important parts:
Entity Interpolation
By default, the client receives about 20 snapshot per second. If the objects (entities) in the world were only rendered at the positions received by the server, moving objects and animation would look choppy and jittery. Dropped packets would also cause noticeable glitches. The trick to solve this problem is to go back in time for rendering, so positions and animations can be continuously interpolated between two recently received snapshot. This technique is called client side entity interpolation and is enabled by default with cl_interpolate 1. With 20 snapshots per second, a new update arrives about every 50 milliseconds. If the client render time is shifted back by 50 milliseconds, entities can be always interpolated between the last received snapshot and the snapshot before that. The Source engine does the entity interpolation with a 100-millisecond delay (cl_interp 0.1). This way, even if one snapshot is lost, there are always two valid snapshots to interpolate between.
Since we have an interpolation delay of 100 milliseconds, the interpolation would even work if snapshot 342 were missing due to packet loss. Then the interpolation could use snapshots 340 and 344. If more than one snapshot in a row is dropped, interpolation can't work perfectly because it runs out of snapshots in the history buffer. In that case the renderer uses extrapolation (cl_extrapolate 1) and tries a simple linear extrapolation of entities based on their known history so far. The extrapolation is done only for 0.25 seconds of packet loss (cl_extrapolate_amount), since the prediction errors would become to big after that.
The entity interpolation is causing a constant view "lag" of 100 milliseconds, even if you're playing on a listen server (server and client on the same machine). So if you turn on sv_showhitboxes the player hitboxes are drawn in server time, meaning they are ahead of the rendered player model by 100 milliseconds. This doesn't mean you have to lead you're aiming when shooting at other players since the server-side lag compensation knows about client entity interpolation and corrects this error. If you turn off interpolation on a listen server (cl_interpolate 0), the drawn hitboxes will match the rendered player model again, but the animations and moving objects will become very jittery.
Everytime I write something... I feel as if I should go into more detail, I'll leave you fellows with this for now. You can correct me anywhere if I made a mistake or argue against my views. I was going to go into detail on the Valve paragraphs on interpolation, but I have just realized I need to be somewhere... I'll edit this later.
EDIT: If you want me to post some configs I have used, just give the word.