Posts von Rekyth.9175 anzeigen:

Vernünftige Spielperformance zu HoT?

in Guild Wars 2: Heart of Thorns

Posted by: Rekyth.9175

Rekyth.9175

Ok, meine Aussage “TCP in einem Onlinespiel zu benutzen, wäre eine schlechte Idee.” war wohl etwas voreilig und basierend auf altem Halbwissen. Ich lasse mich aber gerne berichtigen und belehren.

“[…]the reason Guild Wars uses TCP is that I felt the labor required to write a reliable transport layer on top of UDP would take too long: we’d run out of money fooling around writing transport code instead of writing a game.” – Wyatt

Klingt für mich zwar stark nach “TCP war billiger, einfacher und hat erstmal funktioniert.”, aber das war ja auch zu GW1 Zeiten. Durchaus möglich, dass mittlerweile die Performance beider Protokolle sehr ähnlich ist und die Wahl TCP oder UDP nur noch aufgrund ihrer Funktionsweise getroffen wird.

Um aber wieder auf meinen ursprünglichen Punkt zurück zu kommen, wir haben uns gerade nur darüber unterhalten, wie Client und Server mit ein paar Paketen umgehen.
Ein winziger Punkt in dem Konstrukt, was als ganzes funktionieren soll.

Wenn nun schon ein so kleiner Punkt so komplex ist und solch merkbaren Auswirkungen hat, wie Komplex ist dann erst das Konstrukt als ganzes?

Habt ihr also irgendein Problem, sagt den Leuten bescheid, die sich darum kümmern und gebt ihnen vor allem Zeit die Ursache zu finden und eventuell zu lösen. Das heißt auch mal nachschauen ob es vielleicht beim Falle von Lags oder DCs beim Provider jemanden gibt, der einen weiterhelfen kann.

Vernünftige Spielperformance zu HoT?

in Guild Wars 2: Heart of Thorns

Posted by: Rekyth.9175

Rekyth.9175

@Tiscan
Vielen dank für den interessanten Link.

Wie Wyatt in seinem Kommentar aber auch sagt, hat er tcp in GW1 benutzt (GW2 nutzt scheinbar auch tcp), weil es billiger war, nicht unbedingt besser. Das Problem was das mit sich bringt, spricht er auch selber an. Gibt es, wenn auch nur kurzzeitig, ein Verbindungsproblem, bricht die Kommunikation komplett ab.

Das könnte natürlich der Grund für einige DCs sein, wünsche dann auch viel Spaß den Verbindungsfehler zu finden.

Ein weiteres Problem mit tcp könnte es dann auch sein, dass der memorystack voll läuft, wenn zu viele gleichzeitig spielen. Ist allerdings reine Spekulation, da ich die ANet-Server nicht kenne und jetzt auch nicht so tief in der Materie drin stecke.

Vernünftige Spielperformance zu HoT?

in Guild Wars 2: Heart of Thorns

Posted by: Rekyth.9175

Rekyth.9175

Nur mal so am Rande. Hier wird die ganze zeit gemeckert, dass einige lags haben. Ich habe in diesem thread aber noch keinen einzigen gesehen, der mal genau sagt was er überhaupt für einen ping hat.

Da ein ping angibt wie lange es dauert bis du was von deinem Befehl mitbekommst, wäre es durchaus wichtig zu wissen. Zudem hat jeder noch eine andere Wahrnehmung der Zeit. Weiterhin kommt es darauf an was du gerade machst. Spiele ich GW2 im PvE hab ich kein Problem damit, wenn mein ping bei 100ms +- ist. Bei einem First Person Shooter kann aber schon ein ping unterschied von 60ms bei mir zu 30ms bei meinem Gegner den Sieg entscheiden.

Und nur um das mal einigen vor Augen zu führen worüber sie meckern, und an wen man Ansprüche stellen könnte, hier mal in etwa der physikalische weg eines Befehls:

Eingabe->Rechner->Heimrouter->Straßenverteiler->Kabelverzweiger->Hauptverzweiger->Provider-Backbones*->Hauptverzweiger->Kabelverzweiger->???**->ANet-Server->???**->Kabelverzweiger->Hauptverzweiger->Provider-Backbones*->Hauptverzweiger->Kabelverzweiger->Straßenverteiler->Heimrouter->Rechner

* je nach deinem Anbieter und Anschlussort können mehrere beteiligt sein
** weiß nicht ob ANet-Server eventuell direkt an einem Kabelverzeiger hängen

Das ganze passiert mehrmals pro Sekunde, von tausenden Spielern gleichzeitig. Den ganzen Mist der auf Software-Ebene in deinem Rechner, Heimrouter, den Provider-Backbones oder den ANet-Servern passieren kann, wage ich mir nicht vorstellen.

Also, bevor man rum schreit und mit dem Finger auf jemanden zeigt, sollte man alle beteiligten nett Fragen ob die eine Idee haben, was das Problem sein könnte.

@hooma
TCP in einem Onlinespiel zu benutzen, wäre eine schlechte Idee. Bei TCP werden Bestätigungspakete an den Absender zurück geschickt, welcher solange keine neuen Datenpakete an die gleiche Adresse sendet, bis er die Bestätigung bekommen hat, dass das Paket heil angekommen ist. Bei UDP ist es dem Absender jedoch egal, wann und ob es ankommt. Deswegen kann es bei einer schlechten Leitung oder bei einem hohen ping dazu kommen, dass Pakete verloren gehen oder der Server sagt, dass es ihm zu lange dauert (Zeitüberschreitung der Verbindung). Was die Folge haben kann, dass ein Befehl nicht ausgeführt wird.