Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The part I was interested about the most was glossed over.

In what situation can this happen?

> we realized that there was a calculation error that only manifested in scenarios where the actual ping was significantly lower than the target latency. In this situation the actual latency would be considerably higher than what is displayed on the overlay on the player's screens.



Knowing the classic Riot Games MO: I’d bet money there was a plus instead of a minus that made it through code review, and they’re being intentionally vague to save face.


My guess is that they did not add in the client delay.


Exactly right.

They added too much latency because they forgot to account for the latency they added in the client. You can see from their architecture diagram (Figure 4) that the latency measurement didn't include the client delay.

https://images.contentstack.io/v3/assets/bltad9188aa9a70543a...

The blog post states: "The existing network monitoring system measured the latency at the networking layer as shown by the green arrow."


That kind of error would apply all the time.

But the blog post states: "a calculation error that only manifested in scenarios where the actual ping was significantly lower than the target latency".


I think in practice this issue doubles the added latency, which would only be noticable if the actual ping is "significantly" lower.

Because realized ping is over by as much as original ping was under, so if original wasn't significantly under...


Sadly, my guess is that they are transparently lying about that. Since they apply the lag half on the client and half on the server, their lag compensation would have been off by a factor of 2x (or a factor of 100% from a relative perspective) and so they might be just claiming that a 100% error isn't very large when the total lag difference is small. "Yes we were supposed to add 2ms and we added 4ms instead, but at the end we were still only wrong by 2ms (in the other direction) which is not a big deal."


That's also the kind of error that one can easily catch with a unit test.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: