Moin!
ich wollte in meinem Browsergame eine Art "Engine" ausführen lassen. Diese soll alle paar Sekunden Aktionen ausführen (bewegen von Computerspielern etc.).
Die Frage ist doch, ob das wirklich so dringend notwendig ist.
Wenn du dich mal an folgender philosophischen Frage orientierst: Wenn im Wald ein Baum umfällt, und keiner ist da, der's beobachtet, macht der Baum dann ein Geräusch?
Soll heißen: Was bringt es den Spielern, dass deine Engine auf dem Server irgendwelche Änderungen durchführt, wenn das in dieser zeitlichen Auflösung sowieso niemand beobachtet?
Nur mal anhand des Bewegungsbeispiels: Angenommen, du kennst Standort, Ziel und Geschwindigkeit eines Spielers. Dann kannst du natürlich alle X Sekunden den Standort aktualisieren, ohne dass das jemand wissen will.
Oder du aktualisierst den Standort nur dann, WENN das jemand wissen will. Nämlich wenn ein Benutzer einen neuen Request geschickt hat, mit dem er u.A. den Standort abfragt.
Eine Bewertung der Performance beider denkbarer Lösungen ist übrigens ziemlich schwierig, denn es hängt natürlich davon ab, wieviele derartige Requests insgesamt abzuarbeiten sind, wie die Speicherung der Daten gelöst ist, und ob ein Request grundsätzlich alle Daten aktualisiert, oder nur diejenigen, die er auch wirklich ausgibt. Außerdem ist natürlich ein Faktor, ob ein Auswahlmechanismus für selektives Aktualisieren nicht evtl. komplexer wird, als die generelle Abarbeitung von allem.
- Sven Rautenberg
"Love your nation - respect the others."