Beiträge von [DT]Sniper

    Manyula: Was [DT]Sniper: sagt stimmt auch, eben bezogen auf die größeren Berechnungen. Kleine Berechnungen = 1 Timer besser, größere Berechnungen (nach dem was ich vorhin beschrieben habe, MySQL, Files, etc) mehrere verteile Timer. Wie gesagt, es kommt darauf an was du machen willst.


    zum thema größe der Berechnung/ anzahl der Zeilen. Die Zeilenanzahl hat weniger was damit zutun sondern die ausführzeit mann sollte sich sowas immer mal printen lassen und mal ne Hochrechnung machen wie lang die BErechnung bei 1,5,50,100,500 Spielern braucht.


    Jeffry: welches Mysql Plugin + VErsion verwendest du? sieht mir nach einem Plugin ohne Multithread aus.

    Manyula: Es ist besser einen Timer mit 50 Berechnungen zu haben, als 50 Timer mit je einer Berechnung, das geht weniger auf die CPU.


    dies kommt wieder auf die berechnung an die sollte mit hilfe von gettickcount gemessen werden. sobald ein durchlauf einer Berechnung mehr als 5-10ms dauert kann dies zu einen größeren Laag führen wenn mehr spieler online sind.


    gehen wir mal iweder zu meinen DayZ Server ich hatte kurzzeitig ein System drine welches mit hilfe von Mapandreas mögliche Laufwege der Zombies recht genau berechnet hat doch da Map Andreas nicht das schnellste System ist wenn es um genauigkeit geht hatte meine Berechnung pro durchlauf ungefähr 10 ms sekunden gebraucht was sich in einer einzelnen abfrage nicht so stark bemerkbar macht als wenn der Server für alle 300 NPC's die BErechnung gleichzeitig machen muss.


    In meinem Beispiel habe ich so eine 3 Skunden Berechnung alle 30 sekunden gehabt. wodurch der Server natürlich alle 30 sek für 3 sekunden laggte.
    Nachdem ich das ganze auf Timer Pro NPC geschrieben habe und die Timer um 50ms versetzte habe hatte ich das selbe system eingebaut ohne große Laags sondern nurnoch mit kleinen. Ich habe dann die Berechnung etwas vergrößert wodurch sie 12ms gebraucht hat ich aber den Timerabstand von 50ms auf 150ms hochschrauben konnte wodurch es keine merkbaren laags mehr gibt.


    Es kommt alles sehr stark auf die arbeitsweise an und was genau berechnet werden soll. auch sollte man niemals alle 10 min alle Spieler etc auf einmal speichern lieber jeden Spieler einzeln alle 10 min (ausnahme mysql mithilfe von threated querys braucht der server ja nicht zu warten bis mysql was zurück meldet)


    edit:
    Jeffry: dein Argument aus dem anderen Thread:

    Zitat

    Hat man aber MAX_PLAYERS Timer, die alle X Sekunden aufgerufen werden, dann laufen MAX_PLAYERS Timer gleichzeitig, was bedeutet die CPU muss während der Zwit zwischen dem Aufruf (MAX_PLAYERS-1)-mal mehr Arbeit leisten. Wenn dann einer der ganzen Timer aufgerufen wird, dann wird zwar nur 1/MAX_PLAYERS -stel der Arbeit verrichtet als beim Timer mit Loop, aber (!) es wird ja jeder Timer aufgerufen, somit summiert sich hier die Arbeit wieder auf die selbe auf, nur, dass wir zwischen den Aufrufen eben eine MAX_PLAYERS-Fache CPU-Leistung brauchen.


    stimmt zwar aber wer lässt bitte alle Max_Player timer gleichzeitig laufen, der hat ja auch den sinn der Timer nicht verstanden. Wenn man dass macht gebe ich dir recht dann ist ein einzelener Timer besser.
    Doch wenn man die Playerspezifischen Timer erst beim connecten des Spielers startet und beim disconnecten wieder killt so ist automatisch eine Zeitdifferenz zwichen den einzelnen Timern... esseiden ich hätte einen 10sek timer und die Spieler würden alle auf die ms genau nach 10 sekunden joinen...

    Zitat

    Achtung! Die letzte Antwort auf dieses Thema liegt mehr als 418 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.


    da dies mein Thema ist und es mir bewusst ist werde ich die Meldung gekonnt Ignorieren (wusste gar nicht dass wir so eine Meldung haben xD)


    Habe das ganze neu hochgeladen und mit einer eigenen domain versehen: myProgress.eu


    edit: Schade das es so wenig Leute nutzen...

    generell gilt für Timer (so handhabe ich es):
    kleinere Berechnungen und checks können in einem Timer gemacht werden größere Berechnungen Checks sollten mit mehreren Timer Ex gemacht werden.


    Zum Thema wiederaufrufzeit: so klein wie nötig, so groß wie möglich. Zudem nehme ich gerne Primzahlen.


    ich habe beispielsweise für meinen DayZ Server für den Schreibmaschinen Text beim Tutorial immer einen Playerbezogenen Timer von 3ms gemacht und dort einen kleinen Code ausführen lassen ohne Schleifen oder ähnliches dafür mit Zwichenspeichern von Variablen. Das ganze lief auch bei 40 Playern Laag frei. Es kommt immer darauf an was man genau macht. ein Timer mit einem kleinen Code der alle 30ms ausgeführt wird ist oft nicht so schlimm wie ein Timer der jede sekunde ausgeführt wird und eine 5000er Schleife mit ressourcenlastiger Berechnung.

    ich epfehle einen settimerex für jeden Speieler da sich so der gesammte Code vertielt. dann nciht unbedingt glatt 5min nehmen sondern die nächste Primzahl.


    Erklären kann man es wie folgt der Server hat 2 Phasen eine Script. (Hausaufgaben) und eine Syncrophase (Freizeit). kommt die Syncrophase zu kurz kommt es zu laggs.


    Mit den Code den du momentan hast kannst du es wie folgt sehen. Jeder Spieler eist eine Hausaufagbe die der Sever aufbekommt. Wenn nun 10 Spieler drauf sind muss der Server laut deinen Code erst alle 10 Hausaufgaben machen und hat dann "Freizeit" in der er die Syncro übernimmt. Also wird dein Server mit zunehmender Spielerzahl belastet.


    Machst du jetzt für jeden Spieler einen eigene Timer so hat der Server zwichen jeder Hausaufgabe ein wenig Freizeit.

    Hab seid neusten die Rat 7 und die Strike von Mad Catz und bin sehr zufireden.


    Habe noch meine alte G510 und eine "Gaming Mouse" eines Herstellers welcher mir jetzt nicht einfallen will.Wenn jemand Interesse hat ist halt gebraucht funktionieren aber beide noch ohne Probleme.

    Ein Wasserobjekt in dem man nicht schwimmen kann ist für mich auf Wasser. Man kann sicherlich mit einer Animation und einem eigenem Schwimmsystem was basteln.


    ja, doch weist du nicht auf dem Level des Wasser Schwimmen etc. das wird leider nicht so schön sein wie das normale. Die beste lösung ist ein zusätzlicher Client. es gab mal Projekte dort einen neuen rauszubringen, doch leider sind die alle eingeschlaffen

    Gibt es Programme. z.B jmd. ruft die Nummer an und der Anrufer erscheint auf dem Programm?


    es gibt nur Programme die du mit der Telefonanlage verbinden kannst um dann die Telefonnummer auf dem pc zu haben, sofern du jedoch keine Firma bist, welche das ganze mit einem ERP System benutzt ist es Sinnfrei geschweige den, dass ihr ja bestimmt keine entsprechende Telefonanlage zuhause habt.