Network langsam?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Reicht 100 MBit Switched ?
Bild
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Wolltest du nicht ein internet Spiel machen? Da ist nix mit 100MBit.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Reicht 100 MBit Switched ?
Lief der chat auch über diese Anbindung? Wenn ja, dann frag ich mich ernsthaft wie es da zu nem lag kommen konnte, denn diese Anbindung iss allemal ausreichend um 2 clients ohne größere verzögerungen mit den daten zu versorgen. Und auch die verwendung von TCP/IP macht da ned viel aus... Wie gesagt - sollte das die anbindung gewesen sein, dann ist imho der fehler im code zu suchen.


Ob die 100MBit reichen kannste dir selbst ausrechnen... Schau dir an wie groß die grafiken sind, die du den usern schicken willst, rechne aus, wie hoch die belastung ist, wenn 100 user gleichzeitig eine grafik geschickt bekommen, dann haste den worst case. Dann kannste auch noch die mittlere upload geschwindigkeit durch 100 teilen und dir dann pi mal daumen ausrechnen, wie lange die user im schlimmsten falle auf eine grafik warten müssen, da du keinem user die volle upload geschwindigkeit zusprechen darfst. Ob das ganze dann reicht siehste ja am ergebnis... Ausreichend isses, wenn man nichtmal 2 sekunden warten muss (und das iss schon seeeeehr geduldig ;))
Wie PMV allerdings auch schon erwähnt hat dürfte das ganze 56k oder ISDN nutzern ziemlich auf den senkel gehen, da denen herzlich egal ist ob du jetz ne 100MBit anbindung oder nur DSL lite hast ;)
Vor allem dürfte es - kann mich auch irren - keine flatrates mehr für analog bzw ISDN geben, auch die Volumentarife mit denen noch viele menschen gestraft sind wären bei dieser methode aussen vor, da das ganze zum einen mehr zeit in anspruch nimmt und zum anderen ein vielfaches mehr an traffic erzeugt.
Allein der userfreundlichkeit wegen solltest du also wirklich in erwägung ziehen die grafiken mit ins downloadpaket zu packen. In diesem Falle sollte die Anbindung dann allerdings durchaus ausreichend sein *find*



Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Zum Thema Grafiken, also ich kenne wirklich kein Spiel dass die Live uebertragt ist ja auch schwachsinnlig. Vielleicht ein paar Bilder wie Avatare eines Spielers oda so. Map informationen sind da ja dann nochmal was ganz anderes. Nunja wenn du wirklich ein Spiel schrieben willst, solltest du dir wirklich sehr gut ueberlegen was wie und ob ueberhaupt uebertragen wird.
Ich habe mich mal an ein Spiel gemacht und ich habe die tastenKeys an den Server geschickt und der hat die position jedes einzelnen Sprites zurueckgesendet. Kannste dir ja vorstellen wie das geleggt hat. :lol:
Also ein guter mix aus Kaum was senden ist dass beste.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Konne hat geschrieben:Zum Thema Grafiken, also ich kenne wirklich kein Spiel dass die Live uebertragt ist ja auch schwachsinnlig. Vielleicht ein paar Bilder wie Avatare eines Spielers oda so. Map informationen sind da ja dann nochmal was ganz anderes. Nunja wenn du wirklich ein Spiel schrieben willst, solltest du dir wirklich sehr gut ueberlegen was wie und ob ueberhaupt uebertragen wird.
[bla]
Guild Wars macht das. Man laed sich etwa 60 MB herunter und kann dann
schon loslegen und spielen. Betritt man einen neuen Bereich werden
alle Daten, fuer diesen Bereich, uebertragen. Hat man diese Daten schon
kommt entweder gar nichts oder nur noch Updates.
Man merkt keinen Unterschied - ob das Spiel nun laed oder ganze Maps
herunter laed, ist egal.
Solch ein System sollte bei jedem OnlineSpiel eingefuehrt werden.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Ich mein ja nicht das ich jede Sekunde ne Grafik durchschicke weil sich nen Pixel von 255 zu 254 gewechselt hat.

Ich meine sone Update funktion, die am anfang (wie bei MMORPGS) testet ob alles aktuell ist.

Nur frag ich mich wie die das so schnell machen?

In der Regel wartest du keine 3 Sekunden und der hat alles geprüft O.o

EDIT:
Ne der Chat lief nicht auf 100MBit, das wär ja wohl dann extrem übertrieben wenns laggen würd
Bild
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Ne möglichkeit wäre die versionsnummer in der registry oder ner ini zu speichern, der updater vergleicht die versionsnummern, ist die aufm server höher als die vom client liegt n update vor...
iss doch ganz simpel - und länger als 3 sekunden dürfte das nun auch nicht dauern ^^
Was sich genau geändert hat muss ja weder der server, der client noch der updater wissen, nur wichtig eben DASS sich was geändert hat...


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Dann tauscht der User die Bilder aus und es wird als alles OK gekenntzeichnet was bei MMORPGS nich der fall is.
Und son Updater prüft auch nicht nur die Version sondern die Fehlenden bzw. geänderten Datein, wenn man 100 Versionen hat kann man schlecht von jeder Verion ne möglichkeit bieten auf die aktuelle zu Updaten.
Bild
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Sicher? Du musst die pics ja ned offen im ordner rumliegen lassen, es reicht, wenn du das ganze in ne komprimierte und meinetwegen verschlüsselte datei packst wie es auch quake macht. Notfalls lässte auch noch ne checksumme überprüfen, dann hats der user schon recht schwer da irgendwas auszutauschen. Den check kannste ja auch beim start des spiels ablaufen lassen, muss ja ned durch den updater geschehen.
Solltest mal mit Hroudtwolf reden, der hat da ne schöne library für entwickelt.

Und wieso sollte das nicht gehen, dass man von jeder version auf die aktuellste updatet?
Schonmal ultima online gezockt? Rat mal weswegen der Updatevorgang meistens zwischen ner halben und ner vollen stunde dauert? Du saugst dir bei denen alle updates nacheinander die erschienen sind - es ist also möglich. Auch bei neueren MMORPGs muss das schließlich möglich sein, da es eher selten vorkommt, dass nach einem patch ne neue master cd ins presswerk geliefert wird ;) Ausserdem isses ja auch möglich dass n spieler 3-4 monate nicht zockt und dazwischen einige updates erscheinen - was würde der dann machen?

Dass es vielleicht nicht die perfekte lösung ist streite ich nicht ab, aber es ist durchaus eine gängige Lösung. Vor allem verstehe ich nicht dass du diese möglichkeit ausschliesst... in meinen augen iss das um einiges leichter umzusetzen als die möglichkeit die ich bei dir raushöre, und auch für den user weniger zeitintensiv.
Btw.: Was denkst du wie ein updater funktioniert wie er zum beispiel Bei Spybot, oder Antivir etc vorhanden ist? Hier haste allerdings oftmals kumulative updates die von der urversion, oder diversen zwischenversionen auf die neueste upgraden ohne x-zwischenschritte.


RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Naja, ne Byte für Byte Prüfung will ich nich gerade machen.
Ich könnt höchstens Die Größe jeder Datei nehmen und vergleichen, zwar ist das bei Bildern nicht sehr effektiv, da man solange es die selbe Größe (Pixel) und so ist, es keine Größenänderung (Bytes) gibt.

Aber indem Fall denke ich ist dies aktzeptabel, weil es ja eigtl. nur wichtig ist, dass die Bilder in der Pixel-Größe sich nicht unterscheiden.

Ich mach es einfach so, der Server stellt ne txt Datei her, schreibt da die ganzen Größen (Bytes) rein und schickt dies dann dem Client, dieser überprüft ob alles stimmt, wenn nicht, dann ladet er nur diese Dateien runter, die nicht übereinstimmen.

Das wird bestimmt auch nicht so lange dauern und ist schonender.
Bild
Antworten