Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"cl_extrapolate 1" makes ping showed ingame dramatically lower #247

Open
adem4ik opened this issue Sep 2, 2015 · 4 comments
Open

"cl_extrapolate 1" makes ping showed ingame dramatically lower #247

adem4ik opened this issue Sep 2, 2015 · 4 comments

Comments

@adem4ik
Copy link
Contributor

adem4ik commented Sep 2, 2015

Cl_extrapolate 1 is default value, it is used to toggle prediction model.

With "1" ping is showed for 15-20ms lower than the real one, it can be checked by pressing TAB while connected to any internet server.

So it allows to mislead the opponent with ping showed ingame during the cups.

My suggestion is that it needs to be fixed, so with any value of cl_extrapolate there will be only one value of the ping showed ingame - the most real and accurate, as UI Server browser does so.

@viciious
Copy link
Collaborator

viciious commented Dec 8, 2015

The displayed ping value is affected by cl_extrapolateTime value

@adem4ik
Copy link
Contributor Author

adem4ik commented Mar 6, 2016

I believe you mean cl_extrapolationTime https://github.com/Warsow/qfusion/blob/ad67e05a8c8d8724c2c5c1de481abe7aba933fb6/source/client/cl_main.c#L2082 . Just have checked it by myself, you're right, cl_extrapolationTime 0 makes the ping the same as for cl_extrapolate 0.

@adem4ik
Copy link
Contributor Author

adem4ik commented Mar 7, 2016

As I can see, client ping gets calculated by the server here:
https://github.com/Warsow/qfusion/blob/fafad38e3f138c818c3fc5e1339b09d3cc2232e9/source/server/sv_client.c#L1118
And according to the comments above that string ping should be calculated in realtime, not in gametime, as it was done originally in Q2 engine:
https://github.com/id-Software/Quake-2/blob/372afde46e7defc9dd2d719a1732b8ace1fa096e/server/sv_user.c#L593

@germangar
Copy link

The ping shown in the scoreboards is not the real ping time between the client and the server. It's the latency as it's displayed in the game. When you reduce the time it takes to display events the ping in the scoreboard is reduced too.

Remember that Q2 engine kept a buffer of 2 snapshots before starting drawing (so there could exist interpolation). This added a latency of one full snapshot that wasn't real ping. Extrapolation gets rid of such built in latency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants