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

Add faster probing to GCC startup #100

Open
Sean-Der opened this issue Jan 22, 2022 · 2 comments
Open

Add faster probing to GCC startup #100

Sean-Der opened this issue Jan 22, 2022 · 2 comments

Comments

@Sean-Der
Copy link
Member

Sean-Der commented Jan 22, 2022

To match the behavior of Chromium's implementation as reported by @kcaffrey

I did spend some time digging through the chromium source code, and 
it looks like they are doing a multiplicative increase with an 8%/sec increase
as well, so I think it must converge faster due to the probing it does at the start.

It looked like they might start their estimate at 30Kb/s instead of 10Kb/s, but that 
doesn't make a big difference. Even starting at 30Kb/s, with 1.08 as the multiplicative
 factor, the rate won't reach 1Mb for at least 45sec: 
https://www.wolframalpha.com/input/?i=30000+*+1.08%5Et+%3D+1000000
But chrome reaches it almost instantly, and the only thing I saw in their source that 
could explain that was the probing in the first few seconds. But there is also a lot of 
code in chromium so I haven't read it all yet
@HustCoderHu
Copy link

probe_controller.cc
Maybe we need to implement this. It probes bandwidth periodly ( interval time smaller than 1s, may driven by transport_feedback msg, not sure coz i only read the code roughly) in quite short time.

@nils-ohlmeier
Copy link

My understanding of how Chrome ramps up the initial bandwidth estimates is that initially uses REMB results and then switches over to GCC once the numbers from GCC have become more reliable.
At least that is the reason we could not just stop offering support for REMB in Firefox after it finally gained support for GCC.

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

No branches or pull requests

3 participants