Datenkompression

Um die Menge der zu sendenden Daten zu verringern, ohne die Menge an Informationen zu verringern, und so die Leistung zu verbessern, kann ein vom Run Length Encoding-Verfahren abgeleitetes Kompressionsverfahren verwendet werden. Dieses macht sich zunutze, dass Daten von zwei aufeinanderfolgenden Samples in einem Puffer nicht in Teilen variieren dürfen. Durch das Wissen, welche Teile eines zuvor gesendeten Puffers gleich sind, in Verbindung mit den variierenden Daten, kann ein Empfänger den nächsten Puffer rekonstruieren, ohne dass er den gesamten Puffer erhalten muss. Nachdem der erste Puffer unkomprimiert gesendet wurde, konstruiert der Logger den komprimierten Puffer, indem er vom Benutzer festgelegte Dateneinheiten (z. B. jedes Byte, alle 8 Byte usw.) nacheinander vergleicht. Der Logger zählt die Menge der Dateneinheiten (bezeichnet als Compression Compare Width), die gleich sind, und platziert diese Information anstelle der Daten in den Puffer. Abhängig von der Art der Daten kann dies zu einer Dateneinsparung oder einem Overhead führen. Um zu entscheiden, ob eine Kompression sinnvoll ist oder nicht, wird dem Benutzer ein Einsparungswert der Datenkompression bereitgestellt, der sich auf dem Karteireiter Online jedes Stream-Dialogfensters findet. Ein positiver Wert bedeutet eine Einsparung und ein negativer Wert einen Overhead.