Here's a short tutorial on how to minimize or even completely eliminate stuttering & spikes on windows 10 when using the desktop app.
DISCLAIMER: This is solely for people who already have a stable wireless connection and still experience stuttering (including people who have bufferbloat), not for the people who don't have a stable connection. If you don't know the difference, open cmd prompt and run 'ping google.com -t'. If it randomly jumps up 20+ ms every few seconds then this tutorial probably won't resolve your issue
Part One: Optimizing Packet Delay
1) Open the Registry Editor
2) Copy this: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces and paste it into the path bar
3) Click each folder within the 'Interfaces' folder and look for a value named either 'DhcpIPAddress' or 'IPAddress' which shows your networks ipv4 address
4) In the folder with that value, create a new DWord 32-bit value and name it 'TcpAckFrequency' (or edit it if it's already there), double click it, select Decimal, type 1, then enter
Normally, Windows waits to receive >=2 packets before sending back a signal to a server. Changing this value to 1 forces it to process every single packet instantly with no downsides which fixes the micro-stutters and choppy audio you may randomly experience
Part Two: Optimizing TCP's Auto-Tune
1) Open cmd prompt as an admin
2) Paste this command: netsh int tcp set global autotuninglevel=x
2.5) Replace the x with one of these: normal , disabled , experimental, highlyrestricted , restricted
Normal = Dynamic tuning, good for >200 mbps wireless connections. Disabled = TCP uses a static tune window, good for older routers. Highly Restricted = Tune window is very conserved, good for people with C or D grade bufferbloat. Restricted = Tune window is slightly conserved, balanced option overall. Experimental = Uncapped tuning, might be good for unstable Ethernet but idk
Part Three: Decreasing MTU Size
1) First figure out what your device's limit is. Again in cmd prompt as admin, type ping google.com -f -l 1472
1.5) If it pings successfully, then raise the value by 10 (1482) and ping again with that value. If it says the packet needs to be fragmented, decrease the value by 10 (1462). Once you have the biggest value that can ping properly, add 28 to that value. Remember it, then proceed to step 2
2) Paste netsh interface ipv4 show subinterfaces and enter. Look under the 'Interface Name' column to find your adapter name.
3) Paste netsh interface ipv4 set subinterface x mtu=y store=persistent
3.5) Replace the x with your adapter name and replace y with the number from the previous steps, then enter.
This will make it so the packets you send will travel at the maximum amount of bytes that your device allows before they start fragmenting (which causes stutters.)
Part Four: Selecting Your Anti Congestion Provider
1) Again in cmd prompt ran as admin, paste this command: netsh int tcp set supplemental template=internet congestionprovider=x
1.5) Replace the x with either: ctcp , cubic
Cubic = Quickly and aggressively regains bandwidth after congestion, but doesn't attempt to prevent it. CTCP = Effectively attempts to prevent any congestion in the first place, but doesn't attempt to regain lost bandwidth that any bypassed congestion would cause.
For my situation, I have Wifi 5 with 170 Mbps on my PC, on a different floor than my router. It's good enough for a 60 fps stream on GFN but would stutter on 120 fps after almost every keyboard and mouse input. Using CTCP, Restricted auto-tuning, and 1500 MTU Size completely fixed my issue.
If none of this has helped you for some reason, you can still try other options like using a performance power plan, decreasing your mouse/keyboard polling rate, and changing the wifi channel in your router settings.