Enhanced Video Player on Apple TV 4K creating buffering issues

Very nice troubleshooting process, explanation, and fix, @cursedZeroX.

Microsoft recently changed the default TCP congestion control algorithm for Windows 10 and Server 2019 to CUBIC. (Linux, Android, iOS & MacOS had already made that change.)

The Windows MinRtoMs default was also changed recently, when Microsoft enabled Hystart++. I’m not sure if it was done concurrently with the change to CUBIC or after. It is definitely related code.

Before seeing @cursedZeroX’s change, I was going to suggest reverting from CUBIC to the previous CTCP algorithm. That still might be worthwhile, because I’m sure Microsoft would take it very seriously: “You changed the default congestion control algorithm and broke basic TCP/IP interoperability!”

It could also be interesting if somebody with Server 2016 enabled CUBIC to see if that causes the same problem, for the same reason.

I think it’s very unlikely to have noticeable negative implications.

You probably aren’t getting all of the hypothetical benefits from Hystart++ on your home “Datacenter” network. :slight_smile:

In the very worst case something else could break. I think that’s unlikely for several reasons -

Before the CUBIC and Hystart++ changes, before MinRtoMs was changed to 20, it was 300. So you had been using that value on your local network before Microsoft changed the default.

Additionally, the MinRtoMs value is still 300 for the other profiles. You have already been using that value to communicate with every other device on the Internet.

Mostly I wanted to say I’m impressed, @cursedZeroX.

3 Likes