Veröffentlicht am

Das Netzwerk unter Windows beschleunigen

Auch wenn ich Windows als aufgeblähtes Betriebssystem für Audio nicht gerade wertschätze, führt manchmal kein Weg daran vorbei. Zumindest dann, wenn bestimmte Anwendungen, wie zum Beispiel Acourate für die Raumakustikmessungen, nur unter Windows zur Verfügung stehen.

Und ich gestehe, dass ich mich an Windows über mehrere Jahrzehnte gewöhnt habe. Ich kann Windows deutlich besser einrichten und administrieren, als macOS oder Linux. Autostart und automatische Anmeldung einrichten? Unnütze Prozesse in der Registry dauerhaft abschalten? Latenzen bei USB- und NET Cards minimieren? Unter Windows habe ich damit keine Probleme.

Bei der Latenzminimierung im Netzwerk unter Windows gibt es noch andere Stellschrauben, welche in diesem Newsletter vorgestellt werden. Wie immer gebe ich meine Tipps ohne Gewähr und zum nachmachen auf eigene Gefahr!

Latenzen

Der fis Audio PC ist sowohl in der Hardware, als auch in der Software auf den latenzminimierten Betrieb ausgerichtet. Latenz bedeutet zeitliche Verzögerung.

Die hier störenden Latenzen liegen im Datenstrom und in der Datenverarbeitung des Audio PCs begründet. Beim Rendern von Audiosignalen (z. B. von Flac in PCM oder DSD) und der Übertragung dieser Daten entstehen Latenzen. Sie ergeben sich aus der von der Soft- und Hardware benötigten Zeit, die Daten zu verarbeiten. Bei der Datenübertragung spielen zudem der Sample-Puffer (engl. Buffer) eine Rolle, die bei Audiokarten üblicherweise im Bereich zwischen 64 und 512 Samples liegen, um ein Abreißen des Datenstroms zu verhindern.

Dabei kann eine hohe Latenz zu Klicks und Knistern führen. Angenommen, das Prüfsummenprotokoll findet keine Übereinstimmung in einem Paket und fordert das Paket erneut an. Aufgrund der langsamen Verarbeitung reicht die Zeit nicht aus. Dann sind diese Informationen unwiderruflich verloren. Das Ergebnis ist ein Knistern oder es kommt bei starken Störungen zu Drop Outs.

Mehr zum Thema findest du in den Grundlagen: Audio PC Latenzen.

Internet TCP-Profil vs. Datacenter TCP-Profil 

Das Transmission Control Protocol (TCP) ist ein Netzwerkprotokoll, das definiert, auf welche Art und Weise Daten zwischen Netzwerkkomponenten ausgetauscht werden sollen. In Windows sind dafür zwei verschiedene Profile hinterlegt: Internet TCP-Profil und Datacenter TCP-Profil ​

Die meisten Einstellungen des Internet TCP-Profils der aktuellen Windows 10/11 Versionen wurden zu Zeiten des Servers 2012 definiert. Gemäss den damals üblichen Internetanschlusseigenschaften. Wir schreiben jedoch das Jahr 2023 und viele der Internetanschlüsse von heute ähneln sich in ihren Eigenschaften eher dem Datacenter Datenverkehr.

Es gibt dazu auch eine interessante Schlussfolgerung von Dan Cuomo, einem der Netzwerk-Chefentwickler bei Microsoft:

Das Datacenter TCP-Profil ist für LAN-Umgebungen mit niedriger Latenzzeit konzipiert, das Internet TCP-Profil für WAN-Umgebungen mit höherer Latenzzeit.

Quelle: https://techcommunity.microsoft.com/…ur/ba-p/339795

Dreimal dürft ihr raten, welches Profil als Standard bei Windows 10/11 hinterlegt ist? Natürlich das langsamere Internet TCP-Profil. Auf das schnellere Datacenter TCP-Profil ​​zu gehen ist nicht so einfach. Weil das Betriebssystem es schlicht und einfach nicht vorsieht. Jedenfalls nicht für den Normalanwender.

Die Einstufung des Datenverkehrs auf dem eigenen Rechner kannst du mit dem folgenden Power-Shell Befehl abfragen:

Get-NetTCPConnection

In der Spalte „AppliedSetting“ ist die Datenverkehr-Kategorie zu finden.

Die Einstellungen der Netzwerprofile von Windows wird mit dem folgenden Befehl abgefragt:

Get-NetTCPSetting

Der User MysticFoxDE schreibt dazu folgendes:

Und hier sieht man, dass sich einige Einstellungen zwischen dem „Internet“ und dem „Datacenter“ Profil, sehr deutlich unterscheiden, vor allem was „DelayedAckTimeout(ms)“ angeht. Diese Einstellung ist mitunter sehr Performancerelevant, daher wäre es mir schon recht, dass Windows den Datenverkehr auch anständig kategorisiert.​

Quelle: https://administrator.de/forum/hilfe…262847552.html

Powershell Script für die Aktivierung des Datacenter TCP-Profil​s und für weitere Netzwerkoptimierungen

Der User MysticFoxDE​ hat ein Script für Powershell zur Verfügung gestellt, womit das Datacenter TCP-Profil​ und weiteren Netzwerkoptimierungen​ geladen werden kann. Es steht hier zur Verfügung: https://github.com/MysticFoxDE/WINDO…TIMIZATION.ps1

Bei Klick auf „Go to file“ werden zwei Dateien zum Download angeboten:

​Mit der rechten Maustaste wird das Kontextmenü aufgerufen und mit „Link speichern unter“ die Datei auf die Festplatte geladen. Mit einem Texteditor löscht man dann die nicht benötigten Kopf- und Fußzeilen (HTML). Alternativ kopierst du dir den Code einfach raus und setzt den Code in einen Texteditor ein. Das speicherst du als Text-Datei ab und benennst hinterher die Endung „txt“ in „ps1“ um.

​Das Ausführen des Scripts setzt Administratorenrechte auf Windows voraus. Powershell muss entsprechend mit Administratorenrechten gestartet werden. Wer sich mit Windows nicht gut auskennt, für den ist das nichts!

Im Code ist gut zu erkennen, was das Script macht. Als erstes wird ein Backup unter „C:\BACKUP“ angelegt. Das ist eine sehr gute Sache, damit man alles rückgängig machen kann. Es werden folgend einige Optimierungen durchgeführt, die man teils auch im Netzwerkadapter findet:

  • DISABLE RECEIVE SEGMENT COALESCING ON WINDOWS TCP-STACK
  • Datacenter TCP profile aktivieren
  • DISABLE RSS ON ALL NIC’s
  • DISABLE RSC-IPv4 FOR ALL NIC’s
  • DISABLE RSC-IPv6 FOR ALL NIC’s
  • DISABLE FLOW CONTROL ON ALL NIC’s
  • DISABLE INTERRUPT MODERATION ON ALL NIC’s
  • DISABLE ENERGY-EFFICIENT-ETHERNET ON ALL NIC’s
  • OPTIMIZE RECEIVE-BUFFERS ON ALL NIC’s
  • OPTIMIZE TRANSMIT-BUFFERS ON ALL NIC’s
  • OPTIMIZE TCPACKFREQUENCY
  • OPTIMIZE TCPDELAY

Wer etwas nicht verändern lassen möchte löscht einfach den betreffenden Eintrag im Script. Ich habe zum Beispiel „DISABLE FLOW CONTROL ON ALL NIC’s“ aus dem Script entfernt, da der HQPlayer das benötigt. „DISABLE RSS ON ALL NIC’s“ habe ich ebenfalls aus dem Script entfernt, da das Solarflare X2522 NIC mit der Verteilung des Netzwerkdatenverkehrs über alle CPU Kerne am besten funktioniert.

Zusammenfassung

Windows ist ein ziemlich altes und überfrachtetes Betriebssystem und so finden sich immer wieder olle Kammellen, die nicht mehr dem aktuellen Stand der Technik entsprechen. Wer ein schnelles Netzwerk auf seinem Windows Rechner nutzen möchte, kann dieses kostenlose Script ausführen. Du solltest dich aber gut in Windows auskennen.

Ich habe das Script durchlaufen lassen und es lief reibungslos. Gefühlt laden die Album Cover von Roon schneller. Die Ping Zeiten haben sich nachweislich verbessert. Klanglich meine ich auch eine Verbesserung festgestellt zu haben. Aber das kann natürlich Einbildung sein.

Lass dich beim nächsten Newsletter automatisch benachrichtigen:

Du hast Fragen oder möchtest etwas beitragen? Schreibe uns: Kontaktformular
Oder schreibe per E-Mail an: info@griggaudio.de