Architektura gry sieciowej, synchronizacja wątków
Ostatnio zmodyfikowano 2015-04-23 15:37
Virpi Temat założony przez niniejszego użytkownika |
Architektura gry sieciowej, synchronizacja wątków » 2015-04-23 10:44:32 Cześć. Mam zamiar wzbogacić swoje proste gry o możliwość rozgrywki sieciowej. Stąd nasuwają się moje pytania co do architektury takich projektów. Wydaje mi się, ze najbardziej optymalnym rozwiązaniem jest wykonywanie w jednym wątku tego, co było dotychczas, czyli logiki, fizyki i rysowania na ekranie i dodanie drugiego wątku odpowiedzialnego za odbieranie i wysyłanie komunikatów przez sieć. Załóżmy, że otrzymuję przez sieć pozycję obiektu, jaki powinienem narysować. Czy wątek odpowiedzialny za sieć powinien zapisywać dane (x,y) przy każdym ich odebraniu do zmiennych wspólnych dla obydwu wątków, a wątek rysujący w każdej swojej pętli powinien niezależnie odczytywać te dane i po prostu rysować ten obiekt (wiadomo, że może być opóźnienie na sieci i dane te mogą zmieniać się z różnym okresem)? Oczywiście wspólne zmienne byłyby zabezpieczone np. mutexami. Czy jest to optymalne rozwiązanie? Czy może realizuje się to w inny sposób? Będę wdzięczny za wszelkie sugestie. |
|
DejaVu |
» 2015-04-23 15:37:19 optymalne rozwiazanie bedzie wykorzystać watki. zapoznaj sie z teoria aplikacji sieciowych, np. tutorial sfml networking. |
|
« 1 » |