Skocz do zawartości

Spadek FPSów przez 39dll


Jaklub

Rekomendowane odpowiedzi

Otóż mam taki kod na odbieranie wiadomości od graczy na hoście:

GML
clearbuffer();

amma=ds_list_find_value(global.net_players,argument0);

mahmessage=receivemessage(amma);

if mahmessage=0

{

// skrypt na wywalanie gracza

}

if mahmessage<=0 exit;

messageid=readbyte();

switch(messageid)

{

// tutaj jest odbieranie wiadmości

}

Problem jest taki, że jak jest wykonywany na 11 graczy (bo gra obsługuje do 12 włącznie z hostem), to FPS spada z 60 do 40-46. Nie mam zielonego pojęcia dlaczego. Gdy host odbiera wiadomości tylko od 2 graczy, spadku nie ma.

 

Czy ktoś może pomóc?

Odnośnik do komentarza
Udostępnij na innych stronach

i masz rozwiazanie. jak masz 60fps, to jest 60 razy na sekundę! zrób co 10 klatek.

ciekawe jest to, że na SŁABSZYM kompie wszystko działa cacy na 60 klatek [na 99% jest to wina procesów], ale to rozwiązanie, które dałeś, może się przydać. dzięki, tematu nie zamykam, bo możę znaleźć się inna metoda.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Zrestartuj kompa. Może masz tak jak ja obsraną kartę graficzną która po kilku godzinach pracy wariuje z FPSem dajac w pustym roomie 40 - 70 / 60 FPS.

 

@Pental: czytaj trzy posty wyżej.

Odnośnik do komentarza
Udostępnij na innych stronach

ok. dzięki. Zamykam ten temat, bo się nieźle wygłupiłem =D

Dane wysyłaj tylko wtedy, gdy dla innego klienta jest zauważalna jakakolwiek zmiana. Np. gdy robi ruch.

Z wysyłaniem żadnych problemów nie ma

 

edit: temat otwarty jeszcze raz. ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Ale serwer odbiera ok. <ilość graczy> razy więcej danych niż gracze. Dodatkowo, także wysyła dane. Nie dziw się różnicą FPSów pomiędzy klientem a serwerem, bo ona i tak jest niewielka :P . Wysyłaj dane tylko wtedy, gdy jest jakikolwiek widoczny ruch, choćby gra była nie wiem jak dynamiczna.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem rozwiązany - w czasie gry co 4 klatki odbiera się wiadomości (właściwie co 2 dla innych grup graczy), a w lobby co 30 klatek. Tematu nie zamykam.

 

a co do restartu - on jednak nic nie dał.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...