Windows uses an HW timer that wakes the system every 15.6ms (default). Live Audio/Video streaming application (e.g., Teams) usually set it to 1ms using timeBeginPeriod iperf2 does not change the timer resolution, which makes its isochronous TX scheduling inaccurate. In the first capture below, you can see that iperf2 schedule only 49pps instead of the requested 60pps. In the second capture, the timer resolution was set to 1ms by another application. As a result, iperf2 managed to schedules 60pps....
I've investigated some more, and I'm under the impression that the delay is caused by a heavily loaded CPU. Transmitting 1500B UDP frames is inefficient and the platform that I'm using cannot handle 100Mbps@90fps without adding such delay.
Hello, I ran iperf2 2.1.4 on Win10 using: iperf -c <ip address=""> -u --isochronous=90:100m,0 -i 1 -w 8M -t 30 -e</ip> I've used Wireshark to capture the traffic and noticed that it took 4-5ms for iperf to complete each data transfer of ~140KB. Attached is a Wireshark graph of packets per millisecond. It seems that for some reason iperf added delay/sleep during the data transfer Thanks, Rony