Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17

Thema: Projekt: ipSpeed - TCP/IP Latenz Hack

  1. #1
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052

    Projekt: ipSpeed - TCP/IP Latenz Hack

    So...
    Kurz und schmerzlos erklärt:

    ipSpeed ist ein mini (wirklich mini) Tool das durch ein paar Änderungen in der Windows Registry das die Netzwerklatenz massiv nach unten drückt.

    Konkret bedeutet das, das der "Ping" in Spielen niedriger ist, und auch die meisten Zugriffe aufs Netz (eMail holen in Outlook) deutlich schneller laufen.



    Wofür das ganze gut ist?

    Der Model2 Emulator setzt besonders geringe Latenzen vorraus um ordentlich zu laufen. Daraus ist die Idee entstanden.



    Wie funktioniert es?
    In Windows gibt es standardmäßig zwei Funktionen um den Datenfluss zu "optimieren".


    a) Der "SendQueue"
    Windows sammelt solange Daten auf einer Verbindung bis eine gewisse Größe erreicht wird. Angenommen ein Programm sendet 60 mal pro Sekunde eine "5", sammelt Windows das etwa eine Sekunde lang und schickt dann die 60 5en als ein Datenpaket. Das spart Bandbreite (war bei Modems mal richtig wichtig!), kostet aber Latenz, da die erste 5 eine Sekunde verzögert geschickt wird.

    ipSpeed deaktiviert die SendQueue was zur Folge hat das alle Daten SOFORT gesendet werden. Haken dabei ist ein minimal höherer Bandbreitenverbrauch.


    b) Der "ACK Delay"
    IP Datenpakete sind "nummeriert". Windows beantwortet standardmäßig nur ein komplettes Paket.

    Nehmen wir als Beispiel an, es kommt eine Sendung die aus 7 Paketen besteht.
    Windows wartet bis alle 7 angekommen sind und schickt dann eine Empfangbestätigung ab; "Alle 7 Pakete korrekt erhalten".

    ipSpeed schaltet dieses Verhalten ab, und Windows bestätigt JEDES Paket, auch hierdurch wird der Datenfluss schneller, aber die Bandbreite steigt leicht an.



    Also brauch ich mehr Bandbreite?
    Korrekt.
    Allerdings sollte erwähnt werden das diese Funktionen aus Zeiten stammen als Internetverbindungen noch über langsame Modems lief.
    Heute, wo die meisten Leute DSL nutzen, ist mehr als genug Bandbreite vorhanden.



    Beispiele?
    World of Warcraft - Von 120ms auf 8ms (Ironforge / Eisenschmiede).
    DescenT3 - Von 35ms auf 11ms.
    QuakeWars - Von 28ms auf 9ms.



    Okay wo gibts das?
    Hier! ipSpeed 1.0 (4,60 KB)

    (Achtung! Nach der Installation bitte den Rechner neustarten!)
    Ich mach das alles auch ohne Joystick ,)

  2. #2
    Administration Avatar von zyx
    Registriert seit
    15.06.2004
    Ort
    Strass/Tirol
    Beiträge
    6.427
    vielen dank für den tipp, das klingt ja mal extra interessant. Eine frage hierzu: kann man das auch wieder abdrehen ? Schon, oder? Hast du irgendwas gelesen das es irgendwo anders probleme erzeugt?
    Alte Real Life Tetris (TM) Weisheit: Je schwerer das Cab, um so mehr Stiegen...

    Electricity is a vengeful bitch who is not to be trifled with

  3. #3
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    Ist eine Uninstall Funktion dabei.

    Probleme gabs bisher noch nirgends.
    Ich mach das alles auch ohne Joystick ,)

  4. #4
    Registered User
    Registriert seit
    16.09.2005
    Ort
    Stuttgart
    Beiträge
    260
    Warum setzen zeitkritische Spiele statt auf UDP auf TCP und provozieren damit solch ein Hack?
    Wenn Du das selbst geschrieben hast, veröffentlichst Du auch den Sourcecode?

    +edit
    für uns Linuxer sollte ein "echo 1 > /proc/sys/net/ipv4/tcp_low_latency" reichen. Wenn mans noch genauer einstellen will geht das natürlich durch ein paar Macro-Änderungen in den asm defines im kernel.

    Das was hier gemacht wird ist den sog. "John Nagle's Algorithmus" ausschalten.

    Es gibt halt nix schöneres sich noch vorm Frühstück am Samstag in der Früh sich mit Windoze zu messen *hehe*.

    ciao und schönes WE
    Geändert von rieker (31-01-2009 um 08:22 Uhr)

  5. #5
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    Naja kommt aufs Spiel an.
    TCP ist halt "verlässlich", und bei einem Strategiespiel wärs schlecht wenn da Pakete verloren gehen.

    Die Shooter nutzen ja alle UDP.
    Ich mach das alles auch ohne Joystick ,)

  6. #6
    Mr. Sülz Avatar von loray
    Registriert seit
    06.04.2006
    Ort
    am bayerischen Meer
    Beiträge
    3.125
    Zitat Zitat von rieker Beitrag anzeigen
    +edit
    für uns Linuxer sollte ein "echo 1 > /proc/sys/net/ipv4/tcp_low_latency" reichen. Wenn mans noch genauer einstellen will geht das natürlich durch ein paar Macro-Änderungen in den asm defines im kernel.

    Es gibt halt nix schöneres sich noch vorm Frühstück am Samstag in der Früh sich mit Windoze zu messen *hehe*.
    ...die einen haben die Toolz die anderen Linux
    werden da High Scores gespeichert?

    Home of ZXMAMECD: http://www.zxmamecd.eu (Google+ http://gplus.to/ZXMAMECD)

  7. #7
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    Na zwei Werte in der Registry ändern oder ne Systemvariable unter Linux zu setzen macht jetzt auch den Mords unterschied
    Ich mach das alles auch ohne Joystick ,)

  8. #8
    Registered User
    Registriert seit
    16.09.2005
    Ort
    Stuttgart
    Beiträge
    260
    Mir wäre das lieber "regedit" auf zu rufen. Welche Variablen setzt Du denn wie?

  9. #9
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\{xxx}
    TcpAckFrequency (DWORD) 1

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Paramet ers
    TCPNoDelay (DWORD) 1
    Ich mach das alles auch ohne Joystick ,)

  10. #10
    Mr. Sülz Avatar von loray
    Registriert seit
    06.04.2006
    Ort
    am bayerischen Meer
    Beiträge
    3.125
    Zitat Zitat von SailorSat Beitrag anzeigen
    Na zwei Werte in der Registry ändern oder ne Systemvariable unter Linux zu setzen macht jetzt auch den Mords unterschied
    naja, dann wundere ich mich eigentlich nur wieso du lieber ein VB executable ins Rennen geschickt hast als eine Batch Datei wenn sonst nichts gemacht wird Aber ich will dich ja heute nicht ärgern, ist ja dein Geburtstag - Alles Gute nochmals von hier
    Geändert von loray (31-01-2009 um 12:47 Uhr)
    werden da High Scores gespeichert?

    Home of ZXMAMECD: http://www.zxmamecd.eu (Google+ http://gplus.to/ZXMAMECD)

  11. #11
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    Na weil sich die Interface GUIDs ändern, und außerdem die meisten Leute mit nem simplen "Klickibunti" besser klar kommen als mit nem Script
    Ich mach das alles auch ohne Joystick ,)

  12. #12
    Registered User Avatar von mrdo!
    Registriert seit
    17.11.2005
    Ort
    NRW
    Beiträge
    2.848
    Reicht es nicht den Registry Key in eine .reg Datei zu exportieren und diese dann an zu clicken?
    Will ein Neutron in die Disko, sagt der Türsteher: "Sorry - heute nur für geladene Gäste!"

  13. #13
    H@ckse Avatar von SailorSat
    Registriert seit
    26.08.2004
    Ort
    Hanau (Hessen)
    Beiträge
    2.052
    Was hab ich denn im letzten Post geschrieben?

    *EDIT*
    Linux User sind btw. genauso nervtötend wie Vegetarier (oder Mac User)...
    Nicht das sie sich einfach an ihrer Lebenseinstellung freuen, nein, sie müssen auch jedem mitteilen, egal ob er/sie will oder nicht
    Geändert von SailorSat (31-01-2009 um 18:01 Uhr)
    Ich mach das alles auch ohne Joystick ,)

  14. #14
    Registered User Avatar von mrdo!
    Registriert seit
    17.11.2005
    Ort
    NRW
    Beiträge
    2.848
    Ja was denn? Ach ... egal ... ich bin jetzt friedlich ...
    Will ein Neutron in die Disko, sagt der Türsteher: "Sorry - heute nur für geladene Gäste!"

  15. #15
    Knopfologe Avatar von :oj
    Registriert seit
    02.02.2004
    Ort
    Leipzig
    Beiträge
    2.356
    Eine wirklich *hüstel* Frage: Mit welchen Windowsversionen funktioniert das? Vista, XP, 2k oder mit allen?
    Arcade Screenshot Quiz

    Dreist - das neue Nett!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •