The problem is cl_updaterate is limited by sv_maxupdaterate and the server communicates this maximum value to the client. However, ex_interp is calculated from cl_updaterate even though this value may not be the value expected. This means that ex_interp may not be at its optimal value and many players are unaware of this.
I propose the command ex_interp to be removed and replaced with ex_interp_ratio with the default value being 2 where
ex_interp = ex_interp_ratio.GetFloat() / Min ( cl_updaterate.GetInt(), sv_maxupdaterate.GetInt() )
This will allow ex_interp to always be at an optimal value and the ratio could also have an upper and lower bound enforced by the server with sv_client_min_interp_ratio and sv_client_max_interp_ratio.
The problem is cl_updaterate is limited by sv_maxupdaterate and the server communicates this maximum value to the client. However, ex_interp is calculated from cl_updaterate even though this value may not be the value expected. This means that ex_interp may not be at its optimal value and many players are unaware of this.
I propose the command ex_interp to be removed and replaced with ex_interp_ratio with the default value being 2 where
This will allow ex_interp to always be at an optimal value and the ratio could also have an upper and lower bound enforced by the server with sv_client_min_interp_ratio and sv_client_max_interp_ratio.