prev up next

Previous: up routing Up: Implementation Next: Plugins und Plugin-Registry

Event-Queue und Scheduler

Der Wurzelknoten hat einen für den API-User unsichtbaren Vater, eine Instanz der Klasse core.Root, die von api.Group abstammt. Deren _routeUp-Methode stellt jedes ankommende Event hinten an eine Event-Queue an, die Teil der Laufzeitumgebung ist. Hier bleiben die Events (in der Reihenfolge, in der sie ausgelöst wurden), bis der Scheduler, sie vorne aus der Schlange herausnimmt.
Der Scheduler ist der zentrale Teil der Laufzeitumgebung. Neben dem Auslesen der Event-Queue startet er (wenn nötig) ein neues Rendering. In der Zukunft wird er weitere Aufgaben, wie Kollisionsabfragen und die Überwachung von Behavior-Knoten erhalten.
Damit der API-User möglichst schnell wieder die Kontrolle über den Szenengraphen erhält, läuft der Scheduler in einem eigenen Thread. Solange die Schlange leer ist, wartet er auf das Eintreffen neuer Events.


prev up next
Previous: up routing Up: Implementation Next: Plugins und Plugin-Registry