The DukeSoft Forum
September 09, 2010, 10:28:19 *
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?

Login met gebruikersnaam, wachtwoord en sessielengte
Nieuws: Doom 2D - Knee deep in the Dead is klaar!
 
   Startpagina   Help Inloggen Registreren  
Pagina's: [1]   Omlaag
  E-mail dit topic  |  Print  
Auteur Topic: 39dll, schieten word sloom  (gelezen 806 keer)
Aragon
Heldaftig lid
*****

Karma: +9/-76
Offline Offline

Berichten: 564


Working on 3D online shooter


WWW
« Gepost op: Oktober 11, 2009, 03:19:51 »

Als ik vaak schiet word hij geleidelijk sloom weet iemand een reden waarom dat zou kunnen zijn?
Gelogd

Ik zeg hoi, wat zeg jij?
BlackHawk
Administrator
Heldaftig lid
*****

Karma: +21/-12
Offline Offline

Berichten: 854


Do deh orc dance. Yeh =D


WWW
« Antwoord #1 Gepost op: Oktober 13, 2009, 12:58:54 »

Ja, dat betekend dat je server de pakketjes niet snel genoeg uitleest (oftuwel, je verwerkt er 1 per step, maar er komen er 2 per step of meer. Dan word het in een rij geplaatst)

Om dit tegen te gaan kan je de FPS van je server hoger zetten, maar het makkelijkste is denk ik toch dit stukje code:

Code:
while (true) {
messagesize = receivemessage(tcp)
if (messagesize <=0) then {exit;}

en natuurlijk afsluiten helemaal aan het eind van je switch, met een }.

De oude code was dit:
Code:
//Kijk of er een pakketje binnenkomt
messagesize = receivemessage(tcp);
//Als er geen bericht is binnengekomen, stoppen we met dit scriptje.
if (messagesize <=0) break;

Dat zou moeten helpen. Als je dat te moeilijk vind, zet dan de room speed van de server op 60 ofzo
Gelogd

Aragon
Heldaftig lid
*****

Karma: +9/-76
Offline Offline

Berichten: 564


Working on 3D online shooter


WWW
« Antwoord #2 Gepost op: Oktober 13, 2009, 04:03:40 »

moeilijk nee, ik zal het eens proberen
Gelogd

Ik zeg hoi, wat zeg jij?
Aragon
Heldaftig lid
*****

Karma: +9/-76
Offline Offline

Berichten: 564


Working on 3D online shooter


WWW
« Antwoord #3 Gepost op: Oktober 14, 2009, 04:54:27 »

while (true) {
messagesize = receivemessage(tcp)
if (messagesize <=0) then {exit;}


als hij pakketjes overslaat slaat hij ook x,y,z over tog?
Gelogd

Ik zeg hoi, wat zeg jij?
BlackHawk
Administrator
Heldaftig lid
*****

Karma: +21/-12
Offline Offline

Berichten: 854


Do deh orc dance. Yeh =D


WWW
« Antwoord #4 Gepost op: Oktober 14, 2009, 05:50:37 »

Nee, het script zoals jij het had deed 1 pakketje per step.
Deze doet er meerdere in 1 step. Kost meer CPU maar dat kan je PC makkelijk aan.
Gelogd

Aragon
Heldaftig lid
*****

Karma: +9/-76
Offline Offline

Berichten: 564


Working on 3D online shooter


WWW
« Antwoord #5 Gepost op: Oktober 14, 2009, 05:51:21 »

oke dankje.
Gelogd

Ik zeg hoi, wat zeg jij?
lucb1e
Noob
*

Karma: +0/-0
Offline Offline

Berichten: 7


« Antwoord #6 Gepost op: Augustus 19, 2010, 12:57:59 »

uhm nu zal hij zal dus alle pakketjes afhandelen die er op dat moment in de wachtrij staan, dus als iemand gaat liggen flooden ligt het hele systeem plat. Ik zou er een maxpacket/step limiet op zetten, kan het nog altijd druk worden voor de server maar de andere clients komen tenminste ook aan de beurt.
Gelogd
Pagina's: [1]   Omhoog
  E-mail dit topic  |  Print  
 
Ga naar:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Pagina opgebouwd in 0.26 seconden met 21 queries.