Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C++ WinSock geruckel (https://www.delphipraxis.net/136261-winsock-geruckel.html)

sk0r 26. Jun 2009 18:17


WinSock geruckel
 
Hallo,

ich benutze WinSocks für Netzwerkunterhaltung.
Damit habe ich den Austausch eines Space-Shooters programmiert.

Das Problem nun ist, dass der Client nicht flüßig fliegt, sondern ruckelt...
Das Problem habe ich bei UDP und TCP (nonblocking). Was kann das sein?
Die Daten kommen zwar an, aber es ruckelt.

MfG: sk0r

wicht 26. Jun 2009 18:25

Re: WinSock geruckel
 
Ich habe auch mal ein kleines Multiplayer-Spiel in ActionScript (Flash) gebaut, wobei die Kommunikation der Clients über einen Zentralen Server stattfindet. Da hatte ich auch dieses Problem. Die Lösung dazu liegt für dich eventuell hier:

http://www.gamedev.net/reference/art...article914.asp

Das Thema ist (imo) nicht das einfachste, aber das müsste ein Schritt in die richtige Richtung sein.
Übrigens: Ich habe angefangen, das in mein Spiel zu implementieren, es war am Ende schon besser, zwar noch nicht optimal, aber ich musste die Arbeiten leider unterbrechen und kam seit dem nicht dazu, weiter zu bauen.. :cry:

JanW 26. Jun 2009 18:33

Re: WinSock geruckel
 
In welchem Zeitabstand sendest du die Positionsdaten?
Eine Interpolierung ist die sinnvollste und einzige Möglichkeit. Man braucht aber nicht gleich Cubic Spines für den Anfang und irgendwelche Extrapolierungsalgorithmen wenn das ein eher einfaches und erstes Projekt in der Richtung ist.

Interpolierung heisst dass der Client das rendert was zwischen zwei Paketen passiert. Dadurch ist zwar der Ablauf etwas verzögert, wenn du aber in 25ms Abständen sendest merkt man das nicht.
Hab schon in einigen Foren Anfänger gesehen die jedes Frame eine Nachricht losschicken, das ist natürlich mehr als suboptimal. Mit TCP erst recht.

Gruß,
Jan


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz