Windows für den Audio PC optimieren

Einführung

Für den fis Audio PC bieten wir eine Installation von Windows 11 Pro (ohne Lizenz) an. Damit in Windows eine vernünftige Musikwiedergabe möglich ist, geben wir einige Optimierungstipps ohne unsere Gewähr. Dabei legen wir Wert darauf Windows nicht zu „verschlimmbessern“. Wer zuviel Dienste abschaltet oder löscht erreicht mitunter das Gegenteil einer störungsfreien Funktion, da das Betriebssystem eventuell im Hintergrund ständig nach nicht mehr vorhandenen Prozessen sucht.

Ebenso halten wir es für wichtig, dass Updates unter kontrollierten Bedingungen (nicht während der Musikwiedergabe) stattfinden. Ein Windows System auf einen bestimmten Stand einzufrieren, wie es viele empfehlen, ist schon unter Sicherheitsaspekten fragwürdig. Ebenso das Abschalten der Firewall und des Virenschutzes. Wer möglichst wenig Prozesse haben möchte, dem empfehlen wir dafür extra geschaffene Betriebssysteme wie zum Beispiel HQPlayer OS, Euphony oder Roon Rock, welche wir ebenfalls (ohne Lizenz) auf Wunsch vorinstallieren.

Hilfen für die Windows 11 Pro Installation mit USB-Stick

Die Installation von Windows 11 hat sich mit dem Windows Media Creation Tool zwar stark vereinfacht, aber es sind immer noch einige Tücken vorhanden.

Windows 11 Pro installieren

Für die Neuinstallation stehen zwei Methoden zur Verfügung:

  • Einen USB-Stick direkt mit dem Windows Media Creation Tool schreiben oder
  • die ISO-Datei von Windows 11 herunterladen und anschließend mit mit einem Tool wie zum Beispiel Rufus auf den USB-Stick schreiben.

Der USB Stick soll von einer sehr guten Qualität sein. Manchmal verhindern nicht angezeigte Speicherfehler die Installation. Fehlermeldungen wie zum Beispiel „Windows Mediadaten nicht vorhanden“ können einen zum Wahnsinn treiben. Es ist auch sinnvoll mindestens einen zweiten USB Stick in der Reserve zu halten.

Probleme bei der Online Zwangsregistrierung umgehen

Eine Offline-Einrichtung in Windows 11 Pro scheitert an der Zwangsregistrierung, für die eine Internetverbindung erforderlich ist. Nur was machen, wenn für einen Netzwerkadapter wie Solarflare X2522 NIC vorher eine Treiberinstallation erforderlich ist? Du kommst an dieser Stelle ohne Maßnahmen nicht weiter.

Folgend beschreiben wir dir zwei Möglichkeiten.

Windows-Eingabeaufforderung (cmd.exe)

Glücklicherweise funktioniert die Windows-Eingabeaufforderung (cmd.exe). In dieser Konsole werden Anweisungen nicht grafisch durch die Maus übermittelt, sondern direkt über die Tastatur. Über die Kommandozeile können beispielsweise Dateien kopiert, verschoben oder entfernt werden. Oder du startest eines der nachfolgend genannten Befehle oder Programme. Die Syntax der Befehle entspricht im Grundsatz der alten MS-DOS Struktur.

Für den Aufruf drückst du gleichzeitig die „Umschalttaste + F10“ und die Kommandozeile ist bereit.

Möglichkeit 1: Fehlende Netzwerktreiber installieren

In die CMD gibst du devmgmt.msc ein. Anschließend öffnet sich das Fenster „Geräte-Manager“ und du wirst einige fehlerhafte (nicht zugeordnete) Geräte sehen. Finde heraus, welcher Geräteeintrag zu deinem Netzwerkadapter passen könnte. Klicke doppelt auf den Netzwerkadapter und wähle im Fenster „Eigenschaften“ den Reiter „Treiber“ aus. Klicke anschließend auf „Treiber aktualisieren“ und wähle im neuen Fenster „Computer nach Treibern durchsuchen“ aus. Wenn du den Treiber zum Beispiel auf einem USB-Stick hast, dann gehe mit der Schaltfläche „Durchsuchen“ zum USB Datenträger. Klicke auf „Weiter“ und folge den Bildschirmanweisungen.

Möglichkeit 2: Zwangsregistrierung ausschalten

Alternativ stellst du die Zwangsregistrierung mit dem CMD-Befehl OOBE\BYPASSNRO aus. Der Computer wird automatisch neu gestartet, und die Out-of-Box-Experience (OOBE) wird aktiv. Klicke auf die Option „Ich habe kein Internet“. Anschließend kannst du mit der eingeschränkten Einrichtung fortfahren und ein lokales Benutzerkonto erstellen.

Ob dieser Weg funktioniert können wir nicht garantieren, da Windows gern solche Workarounds mit Akualisierungen zumacht. Weitere Tipps stehen hier: Windows 11 neu installieren und kein Netzwerk gefunden? Workaround für eine idiotische Hürde | Seite 4 | igor´sLAB (igorslab.de).

Wichtige Windows-Tools verwenden

Windows hat bereits viele Werkzeuge an Bord, die du kennen solltest.

Task-Manager

Der Task-Manager ist eines der wichtigsten Tools. Am einfachsten ist unter Windows der sogenannte Affengriff mit gleichzeitigem Drücken [Strg] + [Alt] + [Entf] und wähle im Vollbild-Menü den Eintrag „Task-Manager“ aus. Wenn du mit einem Mac per Remote auf Windows zugreifst, drückst du gleichzeitig [fn] + [control] + [option] + [Entf].

Mit dem Task-Manager kannst du die laufenden Prozesse oder Dienste einsehen, beenden oder neu starten. Falls ein Programm sich nicht beenden lässt, ist das mit dem Task-Manager möglich. Im Bild unten kannst du beispielsweise im Task-Manager die logischen Prozessoren einzeln anzeigen lassen. Das ist sehr praktisch um die einzelne Kernauslastung zu sehen. In der Spalte Leistung können die einzelnen Systemkomponenten wie Arbeitsspeicher (RAM), Datenträger, etc. zur Anzeige ausgewählt werden.

Windows Systemsteuerung

Die Windows-Systemsteuerung ist eine Sammlung von Applets oder kleinen Programmen, die verwendet werden, um verschiedene Funktionen des Windows-Betriebssystems zu konfigurieren. Bei Windows 11 wurden viele Funktionen der Systemsteuerung in das neuere Einstellungsmenü verschoben, was es nicht unbedingt übersichtlicher macht.

Klicke im Task-Manager auf „Neuen Task ausführen“ und gib im neuen Fenster control ein. Setze bei „Diesen Task mit Administrationsrechten erstellen“ ein Häkchen.

Es öffnet sich die Systemsteuerung, welche wichtige Einstellungen ermöglicht.

Energieoptionen

Unter „Systemsteuerung > System und Sicherheit > Energieoptionen“ kannst du die Energieoptionen verwalten. Für niedrigste Latenzen wähle „Höchstleistung“ oder „Ultimative Leistung“ aus.

Netzwerk

Die Netzwerkeinstellungen findest du unter „Systemsteuerung > Netzwerk und Internet > Netzwerk- und Freigabecenter„. Im jeweiligen Netzwerkadapter kannst du die Verbindungsparameter kontrollieren. Unter „Eigenschaften“ findest du viele Einstellungen, welche das Netzwerk beeinflussen. Und du kannst den Treiber aktualisieren.

Gerätemanager

Nach einer Neuinstallation prüfen wir den fis Audio PC immer, ob die Hardware richtig funktioniert. Oft müssen vom Motherboardhersteller noch viele Treiber installiert werden, damit alles funktioniert. Du findest ihn unter „Systemsteuerung > Hardware und Sound > Geräte-Manager„. Wenn keine Fehler angezeigt werden ist alles in Ordnung.

HPET (High Precision Event Timer) deaktivieren

HPET steht für High Precision Event Timer (Hochpräzisionsereigniszeitgeber) und wird schon seit 2005 in PCs verwendet. Es erzeugt periodische Interrupts zum Synchronisieren von Multimedia-Streams. Es scheint jedoch für die heutigen Multicore-CPUs veraltet zu sein und sorgt für eine Erhöhung der Latenzen. Aus der Gaming Szene kommt der Tipp HPET abzuschalten. Das geht recht einfach mit dem Gerätemanager, indem das Gerät deaktiviert wird.

Programme deinstallieren oder ändern

Nicht immer werden installierte Programme benötigt. Die kannst du ganz einfach unter „Systemsteuerung > Programme > Programme und Features“ löschen.

Automatische Anmeldung einrichten

Unser fis Audio PC soll ohne Bildschirm und Tastatur / Maus betrieben werden. Da ist die sonst übliche Windows Anmeldeprozedur nicht brauchbar. Leider hat Windows 11 den Anmeldeschutz weiter erhöht. Du kannst dich mit deinem Microsoft Konto oder mit einem lokalen Konto anmelden.

Mit einem Microsoft Konto automatisch anmelden

Wenn du dich mit deinem Microsoft Konto anmeldest, gehe in den Windows-Einstellungen in den Bereich „Konten/Anmeldeoptionen„. Auf der rechten Seite findest du den Abschnitt „Windows Hello-Anmeldung für Microsoft-Konten erforderlich„, den du deaktivierst. Anschließend kannst du mit dem Task-Manager das Programm netplwiz mit Administratorenrechten ausführen. Wähle im anschließenden Dialog in der Liste den Benutzer aus, der in Zukunft beim Systemstart automatisch angemeldet werden soll. Entferne dann oberhalb der Liste das Häkchen bei „Benutzer müssen Benutzername und Kennwort eingeben“.

Mit einem lokalen Konto automatisch anmelden

Wir bevorzugen die Methode der lokalen Anmeldung, um den Datenaustausch mit Microsoft einzuschränken. Gehe zu „Einstellungen > Konten > Ihre Infos„. Klicke dann rechts auf „Stattdessen mit einem lokalen Konto anmelden„.

Leider steht bei der lokalen Anmeldung die vorangehend beschriebene Methode nicht zur Verfügung, weil die Option dann gar nicht in den Einstellungen angezeigt wird. In diesem Fall musst du dich mit einem Registry-Eingriff behelfen:

  1. Öffne den Registrieungseditor regedit mit Administratorenrechten mit dem Task-Manager.
  2. Navigiere zum Schlüssel „Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Passwordless\Device„.
  3. Sollten die letzten beiden Unterschlüssel nicht vorhanden sein, legen einfach jeweils neue mit „Bearbeiten > Neu > Schlüssel“ mit genau dieser Bezeichnung an:
    DevicePasswordLessBuildVersion
    DevicePasswordLessUpdateType
  4. Lokalisiere dann jeweils auf der rechten Seite den Eintrag und trage
    – den Wert 0 bei DevicePasswordLessBuildVersion und
    – den Wert 1 bei DevicePasswordLessUpdateType ein.
    Auch hier gilt wiederum: Sollte ein solcher Eintrag nicht vorhanden sein, lege ihn mit genau dieser Bezeichnung und dem Wert 0 an. Verwende dafür „Bearbeiten\Neu\DWORD-Wert (32-Bit).“
  5. Schließe den Registrierungseditor und starten das netplwiz-Programm. Die Option „Benutzer müssen Benutzername und Kennwort eingeben“ sollte dort nun wieder angezeigt werden: Häkchen entfernen!

Autostart unter Windows 11 Pro

Üblicherweise wird der fis Audio PC ohne Bildschirm und Tastatur betrieben. Einschalten und los geht’s mit der Musik! Dafür muss zum Beispiel die automatische Anmeldung eingerichtet sein.

Im Task-Manager nicht benötigte Programme für den Autostart deaktiveren

Bei der Installation von Roon Server wird der automatische Start gleich mit eingerichtet. Im Task-Manager siehst du die Programme, welche automatisch beim Hochfahren gestartet werden. Eine Vielzahl von Apps wie zum Beispiel Cortana benötigst du nicht. Diese sollst du deaktivieren.

Programme für den Autostart einrichten

Andere Programme wie der HQPlayer benötigen eine manuelle Einrichtigung. Gib im Windows-Explorer in die Adresszeile shell:startup ein. Es wird dir dann der aktuelle Autostartordner angezeigt. Hier kannst du Programmverknüpfungen (verschiebe nicht die Programme) hinterlegen, die beim nächsten Booten mit gestartet werden.

LatencyMon für die Analyse von Latenzproblemen

Störungen wie zum Beispiel Drop Outs können durch hohe Latenzen entstehen. Latenz bedeutet zeitliche Verzögerung, wobei die Latenz eine feste Zeit zwischen zwei Ereignissen definiert. Siehe auch Grundlagen Audio PC Latenzen. Ein Interrupt kann eine unaktzeptable und hörbare Latenz auslösen. Zum Beispiel durch fehlerhafte Treiber verursacht. Für Windows gibt es dazu ein sehr gutes kostenloses Analyse-Tool: LatencyMon. Siehe auch Latenzen im Audio PC selbst messen. Vor und nach jeder Optimierung empfehlen wir dieses Tool zur Kontrolle zu verwenden.

Windows ist kein Echtzeitbetriebssystem. Es gibt keinerlei Garantien, dass Requests innerhalb eines bestimmten Zeitrahmens zugestellt werden, was die Merkmale eines Echtzeitbetriebssystems sind. LatencyMon analysiert die möglichen Ursachen von Problemen durch Messung der Kernel-Timer-Latenzen und Meldung von DPC- und ISR-Ausführungszeiten, sowie harten Seitenfehlern. 

Als Maßeinheiten dienen: 1 s (Sekunde) entspricht 1000 ms (Millisekunden) entspricht 1.000.000 µs (Mikrosekunden)

Process Latency (µs)

Der laufende Prozess mit der höchsten Latenz und insgesamt die am höchsten gemessene Prozesslatenz geben auf einen Blick einen guten Aufschluss, ob Echtzeit-Audio möglich ist. Dies wird auch im Text angezeigt. Eine im Bild angezeigte aktuelle Prozesslatenz von 22,10 µs ist sehr niedrig und auch die höchste gemessene Prozesslatenz von 102,10 µs ist völlig unkritisch.

Im Artikelbild ganz oben ist ein Negativbeispiel mit einer „Highest measured interrupt to process latency (Hs) :“ von 28.994,60 µs. Hier hilft in der Regel ein Blick in den Reiter „Drivers“ um zu sehen, welcher Treiber für das Problem verantwortlich ist. Oft hilft es den Treiber zu aktualisieren.

Interrupt-Service-Routinen (ISRs) 

ISRs sind spezielle Codeabschnitte in einem Computerprogramm, die aufgerufen werden, wenn ein Interrupt ausgelöst wird. Sie reaigieren auf Interrupts von Peripheriegeräten wie Tastaturen, Mäusen, Netzwerkschnittstellen und anderen Hardwarekomponenten. Da im fis Audio PC so etwas nicht angeschlossen ist, erfolgt im Bild eine Leeranzeige.

Deferred Procedure Call (DPC)

DPCs werden verwendet, um Aufgaben zu behandeln, die nicht unmittelbar ausgeführt werden müssen, aber dennoch eine hohe Priorität haben. Dies können beispielsweise Aufgaben sein, die mit Gerätetreibern, Hardwareereignissen oder anderen Echtzeitereignissen zusammenhängen. DPCs können auch für asynchrone Operationen verwendet werden, bei denen eine bestimmte Aktion in Reaktion auf ein Ereignis ausgeführt werden soll.

Wenn ein DPC ausgelöst wird, unterbricht das Betriebssystem die aktuell ausgeführte Aufgabe und führt den DPC-Code aus. Dieser Code wird normalerweise in Form einer Funktion oder eines Codeblocks definiert. Der Hauptunterschied zwischen einem DPC und einer Interrupt-Service-Routine (ISR) besteht darin, dass DPCs in der Regel auf einer niedrigeren Prioritätsebene ausgeführt werden als ISRs.

Im Bild oben ist der Netzwerktreiber mit unkritischen 91,62 µs zu sehen.

Harter Seitenfehler (total hard pagefault)

Windows verwendet ein Konzept des virtuellen Speichers, das sich auf das von der CPU bereitgestellte Seitenübersetzungssystem stützt. Wenn eine Speicheradresse angefordert wird, die im physikalischen Speicher (nicht resident) nicht verfügbar ist, wird ein „INT 14“ auftreten. Wenn die Seite, auf der sich die Adresse befindet, Windows bekannt, aber nicht resident ist, liest Windows die benötigte Seite aus der Auslagerungsdatei. Dies wird als harter Seitenfehler bezeichnet und kann viel Zeit in Anspruch nehmen. 

virtuelle Auslagerungsdatei deaktivieren

Windows 10 und Windows 11 lagern selten benutzte Bereiche des Hauptspeichers in die Auslagerungsdatei pagefile.sys aus und schaffen mit diesem virtuellen Arbeitsspeicher Platz für Systemkomponenten und aktive Prozesse. Das kann bei harten Seitenfehlern ein Problem sein, weil eine SSD immer langsamer sein wird als der schnelle Arbeitsspeicher (RAM). Wenn der Arbeitsspeicher groß genug ist, soll die Auslagerungsdatei deaktiviert werden. Das machst du mit hauseigenen Windows-Tools.

Gib in der Windows-Suche „Erweiterte Systemeinstellungen anzeigen“ ein. Es öffnet sich ein Fenster „Systemeigenschaften“ (links). Hier klickst du auf „Einstellungen“. Im neuen Fenster „Leistungsoptionen“ (mittig) klickst du auf den Reiter „Erweitert“ und dann bei „Virtueller Arbeitsspeicher“ auf „Ändern“. Im Fenster „Virtueller Arbeitsspeicher“ (rechts) klickst du auf „Keine Auslagerungsdatei“ und „Festlegen“. Anschließend muss der Rechner neu gestartet werden.

Windows Registry

Windows ist für seine ausufernde Registry bekannt. Die Windows Registry ist eine zentrale Datenbank, die Informationen über die Konfiguration des Betriebssystems, der Anwendungen und der Hardware enthält. Die Registry wird von Windows bei jedem Start gelesen und geschrieben, um die Einstellungen anzupassen und zu speichern. Die Registry ist in mehrere Abschnitte unterteilt, die als Schlüssel bezeichnet werden. Jeder Schlüssel kann weitere Unter-Schlüssel und Werte enthalten, die die spezifischen Parameter definieren. Die Registry kann mit dem Registrierungs-Editor bearbeitet werden, aber dies sollte nur von erfahrenen Benutzern durchgeführt werden, da falsche Änderungen zu schwerwiegenden Problemen führen können.

Windows Registry reduzieren

Es gibt viele sinnfreie Windows Dienste, die bei einem Audio PC nicht benötigt werden. Zum Beispiel für die Synchronisierung von nicht vorhandenen Mails, Kontakten, Kalendern und anderen User-Infos. Es werden sogar beim Start variable Namenszusätze (z. B. _2a1a5) vergeben.

Bild

Die Lösung liegt wie im Support zu Per-user services in Windows 10 and Windows Server beschrieben in der Änderung der Registry. Dabei wird wie oben abgebildet der Starteintrag auf „4“ = Disabled gesetzt. Die Kunst liegt darin nicht zuviel Dienste abzuschalten, da sonst erhebliche Störungen auftreten können. Aber auch nicht zuwenig zu deaktivieren, da plötzlich aufwachende Prozesse die Musikwiedergabe empfindlich beeinflussen können.

Batch-Datei für das Aktivieren und Deaktivieren von Diensten

Damit du nicht manuell Dienste deaktiveren musst, stellen wir zur Nutzung auf eigene Gefahr Batch-Dateien zur Verfügung. Diese Batch-Dateien sind recht simpel aufgebaut und können von dir nachträglich editiert werden. Hier findest du eine Übersicht als Textdatei.

Diese Batch-Dateien für die Verwendung auf eigene Gefahr kannst du hier in gezipter Form downloaden:

In der Datei findest du zwei Batch-Dateien:

  • DEAKTIVIEREN_fisAudioWin11P_Dienste – low.reg
  • AKTIVIEREN_fisAudioWin11P_Dienste – low.reg

Klicke doppelt auf die Datei „DEAKTIVIEREN…“ um nicht benötigte Dienste auszuschalten. Bestätige die Warnmeldung. Starte anschließend den PC neu.

Der Lohn der Mühe ist im Task-Manager zu sehen. Statt der sonst üblichen 160 Prozesse sind nur noch 110 Prozesse aktiv. Die Anzahl der Prozesse können in deinem Audio PC anders sein, da unterschiedliche Anwendungen und Treiber dies beeinflussen. Wenn du recherchierst wirst du Experteneinstellungen treffen, die nur noch 20 Prozesse oder weniger geladen haben. Das ist nicht unbedingt besser, da der Betriebsumfang dann sehr eingeschränkt ist.

Registry Änderungssperre umgehen

Wer selbst Hand anlegt wird feststellen, dass sich mancher Registry Schlüssel nicht ändern lässt. Die Fehlermeldung „Version kann nicht bearbeitet werden: Fehler beim Schreiben des Inhalts des Werts.“ lässt nicht gleich den Rückschluss zu, was nicht in Ordnung ist. Meist sind es die fehlenden Rechte, sogar wenn man als Adminstrator angemeldet ist.

Um als Administrator die Vollzugriffsrechte zu erhalten, ist ein kleiner Trick notwendig.  Wenn der sogenannte TrustedInstaller (Microsoft-Installer) Besitzer dieses Schlüssels ist, nimmt man diesem den Besitz einfach weg und weist ihn neu dem Administrator zu. Der Microsoft-Installer ist als Service eine Art Nutzer mit Vollzugriffsrechten, welche die Rechte der normalen Adminstratoren weit übersteigen. Wie der Besitzwechsel geht ist hier sehr gut beschrieben:

Tipps, Tricks und Hilfe bei Problemen mit Windows und der Hack mit dem TrustedInstaller | Retro Praxis | igor´sLAB (igorslab.de)

Maximale Dateigröße für WebDAV-Dateien anheben

Wer solche Fehlermeldung erhält: „Fehler 0x800700DF: Die Dateigröße überschreitet die maximal zulässige Größe und kann nicht gespeichert werden.“ hat ein Problem mit WebDAV (Web-based Distributed Authoring and Versioning). Es ist ein Netzwerkprotokoll zur Bereitstellung von Dateien über das Internet. Die Dateien, die auf WebDAV-Freigaben liegen und eine Größe von mehr als 47 MB haben, können nicht mehr übertragen bzw. herruntergeladen werden. Die Limitierung wird aus Sicherheitsgründen vom System gesperrt

Diese Limitierung kannst du mit der Windows Registry anheben. Gib in der Registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters ein und suche nach dem Schlüssel „FileSizeLimitInBytes„. Wenn du diesen Schlüssel nicht findest, kannst du ihn unter „Bearbeiten > Neu > Schlüssel“ neu anlegen. Mit einem Doppleklick darauf öffnest du ein kleines Fenster. Ändere die Basis auf „Dezimal“ und gibt 4294967295 für 4 GB (Maximalwert) ein.

Windows Updates kontrollieren

Updates können Gutes und Schlechtes bewirken. In der Regel sorgen Updates für ein besseres Funktionieren des Betriebssystems. Auf keinen Fall soll während der Musikwiedergabe ein Update erfolgen. Mittlerweile sind die Updates auf ein bestimmtes Zeitfenster (in der Regel Nachts) voreingestellt.

Besser ist es, die Updates bewusst anzustoßen. Dafür setzt du unter „Start > Einstellungen > Windows Update“ die Updates für einen bestimmten Zeitraum aus. Hier kannst du den längstmöglichen Zeitraum von 5 Wochen wählen.

Wenn du dich für ein Update entscheidest und du unsere Batch-Datei „DEAKTIVIEREN_fisAudioWin11P_Dienste – low.reg“ verwendet hast, musst du erst wieder den Originalzustand herstellen. Verwende dafür die Batch-Datei „AKTIVIEREN_fisAudioWin11P_Dienste – low.reg„. Sonst werden Updates aufgrund von Fehlern eventuell abgelehnt.

veraltetes Internet TCP-Profil gegen Datacenter TCP-Profil tauschen

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

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

​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 – Kritisch für Solarflare NIC!
  • DISABLE RSC-IPv4 FOR ALL NIC’s
  • DISABLE RSC-IPv6 FOR ALL NIC’s
  • DISABLE FLOW CONTROL ON ALL NIC’s – Kritisch für HQPlayer!
  • 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. Wir haben 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“ wurde ebenfalls aus dem Script entfernt, da das Solarflare X2522 NIC mit der Verteilung des Netzwerkdatenverkehrs über alle CPU Kerne am besten funktioniert. Diese angepassten Scripts für die Verwendung auf eigene Gefahr kannst du hier in gezipter Form downloaden:

Songs innerhalb von Sekunden in den Arbeitsspeicher streamen

Es gibt Player wie HQPlayer oder Euphony Stylus, die laden den ganzen Sond oder sogar das ganze Album in einem Schwung in den Arbeitsspeicher. Das finde ich sehr gut, ist doch RAM der schnellste Speicher im Audio PC (CPU Cache mal ausgenommen). Und etwaige Netzwerkprobleme werden elegant umschifft, sofern nicht gleich die ganze Verbindung ausfällt. Nur was macht man mit Playern wie zum Beispiel Roon, die das nicht können?

Problemstellung

Ich hatte in der Vergangenheit ab und zu Probleme mit Aussetzern beim Streamen von 192/24-Dateien über Qobuz Roon. Alle anderen Abtastraten funktionierten, also war es nicht dringend. Ebenso gab es keine Probleme mit Roon allein oder mit dem HQPlayer allein. Als ein anderer Nutzer von ähnlichen Problemen berichtete, machte ich mich auf die Suche nach den Ursachen.

Das Problem auf meinem Musikserver mit Windows 11 Pro war offensichtlich. Mir ist aufgefallen, dass der Datenfluss im Input unterhalb des Datenflusses der Ausgabe (HQPlayer) liegt. Der Input (durchgehende Linie) schwankt zwischen 4,6 – 9 Mbit/s. Hin und wieder kommt ein Jumbo-Rahmen dazu, damit es überhaupt funktioniert. Ich habe nicht verstanden, warum nicht mit höherer Bandbreite auf meiner 1-GB-Leitung gestreamt wurde. Der Output zum HQPlayer lag stattdessen mit mindestens 8 Mbit/s höher.

Bei 192.000 Hz x 24 Bit x 2 Kanälen sollte die Bandbreite mindestens 9,216 Mbit/s betragen. Ein Roon User wies darauf hin, dass über Qobuz komprimiertes FLAC gestreamt wird. Da hat er natürlich recht. FLAC kann zwischen 30% und 70 % Speicherplatz einsparen. Qobuz stellt eine 44,1 kHz/16 Bit Datei (1411 KB/s) mit einem FLAC Stream von 900 KB/ zur Verfügung. Das entspricht einer Kompression von rund 64%. Quelle: Was ist FLAC (Free Lossless Audio Codec)? – Qobuz Magazin​. Das wären bei 192/24​ demnach rund 5,9 Mbit/s. Nur ist es so, dass auch Steuerdaten und Prüfsummenprotokolle und anderes über die Leitung gehen. So oder so gab es bei mir ab und zu Probleme. ​

​Mögliche Ursachen

Windows ist kein Echtzeitbetriebssystem. Das Interrupt Standardintervall beträgt 15,625 ms (1.000 ms geteilt durch 64). Interrupt ist eine kurzfristige Unterbrechung der normalen Programmausführung, um einen kurzen und zeitkritischen Vorgang abzuarbeiten (Unterbrechungsanforderung). Das Ganze funktioniert meist asynchron und kann im schlimmsten Fall auch den gesamten Ablauf nachhaltig, also bemerkbar, stören. Wenn ein Gerät bedient werden möchte, kann es so eine Unterbrechungs-Anforderung jederzeit auslösen.

Für Audio ist es im allgemeinen besser das Intervall so kurz wie möglich zu halten. Unter Windows sind das 0,5 ms. Mit einem Programm wie zum Beispiel TimerTool kann das Intervall auf 0,5 ms eingestellt und automatisiert geladen werden. Ab Windows 11 wird leider die Anwendung TimerTool zurückgesetzt, wenn das TimerTool-Fenster nicht sichtbar ist oder von einer anderen Anwendung verdeckt wird. Zum Glück gibt es Process Lasso, auf das ich noch zu sprechen komme. Quelle: Prozess-Lasso-Dokumentation (bitsum.com)​​

Außerdem gibt es Prozesse im PC, welche mit einer hohen oder niedrigen Priorität ausgeführt werden. Oder irgendetwas dazwischen. Prozesse mit normaler oder niedriger Prio müssen halt warten, bis die Prozesse mit hoher Priorität abgearbeitet wurden. Nur wer entscheidet das? In der Regel die Entwickler des Betriebssystems, die bestimmt nicht ausschließlich Audio Streaming auf dem Schirm hatten.

Alternativ stellt Signalyst mit dem HQPlayer OS ein eigenes Betriebssystem zur Verfügung. Dabei wird ein Linux Echtzeit-Kernel verwendet und die oben geschilderten Probleme gibt es nicht.

Lantenzminimierung und Priorisierung mit Process Lasso

Als erstes habe ich mit Process Lasso die System-Timer-Auflösung auf 0,5 ms eingestellt. Das machst du unter Optionen > Werkzeuge > System Timer Auflösung.

Die Prioritäten-Klasse für das Netzwerk und Roon habe ich dann mit Process Lasso auf „Echtzeit“ eingestellt. Dafür sortierst du unter Benutzer die Prozesse alphabetisch und hast dann die Prozesse für den Netzwerkdienst untereinander. Klicke den Prozess mit der rechten Maustaste an und ändere die Priorität wie folgt: CPU-Priorität > Immer > Echtzeit.

Das machst du mit deinem Player wie Roon auch, wobei ich bei Roon Raat eine Prio (Hoch) darunter geblieben bin, weil die Ursprungseinstellungen ebenfalls diese Hierarchie hatten.

Es trat ein erstaunlicher Effekt auf. Roon streamt innerhalb weniger Sekunden eine 192kHz/24-Bit-Datei von Qobuz in den Speicher. Ich habe keine Aussetzer mehr mit 192/24 Dateien. Die Ausgabe (gestrichelte Linie) an HQPlayer ist sehr linear.


​Das funktioniert natürlich auch mit niedrigen Samplingraten. Wer Windows als Betriebssystem nutzt, kann dieses Einstellungen für beliebige Player ausprobieren. Ich kann nur nicht versprechen, dass es mit anderer Hardware und anderen Playern funktioniert. Meine Tipps erfolgen ganz ausdrücklich ohne Gewähr. In anderen Konstellationen können meine gezeigten Einstellungen für instabile Systeme sorgen. Möglicherweise führen andere Einstellungen zum gleichen Ergebnis. Ich habe nicht alles durchprobiert.

MSI-Tool für Interrupt-Probleme

Dieser Tipp kommt aus der Gaming Szene, siehe: „Unerklärliche“ Interrupt-Probleme lösen: Message-Signaled Interrupts (MSI) gegen Soundaussetzer, USB-Probleme & Co. | Praxis | igor´sLAB (igorslab.de)

Für die Anzeige und Administration der Interrupt-Modi steht das kostenlose MSI-Tool zur Verfügung. Das in der ZIP-Datei enthaltene Programm benötigt keine Installation, muss aber als Administrator ausgeführt werden. 

In der Spalte „supportet modes“ ist zu sehen, dass für alle Geräte Leitungsbasierte Interrupts (LBI) und Message-Signaled Interrupts (MSI, MSI-X) unterstützt werden. Damit es keine Konflikte gibt, sollen alle Geräte nur noch MSI / MSI-X verwenden. Entsprechend ist das jeweilige Häkchen zu setzen. So wird verhindert, dass ein leitungsbasierter Interrupt sich mit einem signalbasierten Interrupt überschneidet. Außerdem werden mit MSI die Latenzen verringert.

Interessant ist auch die Spalte „interrupt priority“. Hier können zum Beispiel die Netzwerkkarten von Solarflare und die Festplatten auf hohe Priorität gesetzt werden.

Zusammenfassung

Dieses Kapitel ist umfangreicher geworden als gedacht. Das ist auch die Hauptkritik an Windows: die Überfrachtung mit Funktionen. Auf der anderen Seite handelt es sich um ein sehr gepflegtes Betriebssystem, welches eine enorme Verbreitung hat. Für nahezu alles findet sich irgendwo eine oft kostenlose Anwendung. Wem das zuviel ist,  der nimmt ein extra für die Audiowiedergabe geschaffenes Betriebssystem wie zum Beispiel HQPlayer OSEuphony oder Roon Rock, welche wir (ohne Lizenz) auf Wunsch vorinstallieren.

Für die relativ einfache Installation von Windows 11 Pro steht das Windows Media Creation Tool zur Verfügung. Mit den Windows-Tools Task-Manager und Systemsteuerung hast du bereits alle Werkzeuge zur Hand. Die automatische Anmeldung und der automatische Start von Programmen ist schnell eingerichtet.

Mit dem kostenlosen Analyse-Tool: LatencyMon kontrollierst du die Latenzen. Weitere Feineinstellungen sind:

  • virtuelle Auslagerungsdatei deaktivieren
  • Windows Registry in Windows 11 Pro reduzieren
  • Windows Updates kontrollieren
  • veraltetes Internet TCP-Profil gegen Datacenter TCP-Profil tauschen​
  • Songs in einem Rutsch in den Arbeitspeicher laden
  • MSI-Tool für Interrupt-Probleme