SoapboxRaceWorld / GameLauncher_NFSW

An unofficial launcher for Need for Speed: World (https://launcher.worldunited.gg / https://soapboxrace.world)
GNU General Public License v3.0
425 stars 129 forks source link

Download server choice dialog : display speed instead of latency #229

Closed KaKi87 closed 1 year ago

KaKi87 commented 1 year ago

Summary

When choosing the server from which to download game files, we're tempted to select by latency, while we should be selecting by download speed.

While when choosing which server to play on, latency is indeed the most relevant metric.

Additional context

As I selected the lowest-latency server to download game files from, the download is going at a rate below 1 MB/s, while my Internet connection allows up to 100 MB/s.


Thanks

Zacam commented 1 year ago

2.2.0.0 and 2.2..0.2 wouldn't have been helped by displaying Bandwidth vs. Latency as there was a flaw in the LZMA Download Handler.

Further, to evaluate -relative- to the User bandwidth would require running a "Speedtest" pipe, basically; as whatever capacity any given CDN has is going to be shared across concurrent active connections. Which makes Latency/Ping the easier value to derive. And especially concerning LZMA, latency sensitivity is more important to a successful fetch than raw bandwidth (not that also having raw bandwidth won't hurt).

Also, what your ISP will allow you to -get- isn't the same as the CDN/Game Servers ability to -send- (especially when serving potentially hundreds of concurrent connections).

KaKi87 commented 1 year ago

I meant actually downloading the actual files, only for a few seconds form each server for measurement purposes.

So, it would be accurate, and get a head start on the download. Nothing to loose.

Zacam commented 1 year ago

Except it would have to do that across all the CDN's in question and LZMA doesn't "thread" hop acquisition sources that way, so it would effectively be a useless "Speedtest" file that wouldn't head start anything.

And again, it would also be utterly variable based on Routing and concurrent Traffic to the CDN; or it would be a static "Announcement" of capacity; Ping is still ultimately the best and easiest selection method.

Consider that: None of the CDN's are provisioned with less than 1GBps, that I am aware of. Many of them have significantly more. At which point, you're never going to utilize all of that (even if you somehow were the only person "on" it at the time); and your 100 MB/s (up to) won't ever get fully saturated either as a result of any overhead of equipment in-between your/your ISP and the Server (which a simple traceroute will show).

KaKi87 commented 1 year ago

Actually, the 100 MB/s figure I gave you, isn't my ISP's, it's mine, it's what I actually get when downloading large files from fast servers.

So, when downloading from a 1GB/s+ server, even a busy one, I should still get at least a few dozens of MB/s.