Zitat Zitat von CapSeb
Der Maker arbeitet anscheinend in einem Rechentakt immer einen Befehl pro parallel Event (wartet also wahrscheinlich diesen Takt lang bis alle Events einen Schritt weiter sind).
Zitat Zitat von makenshi
Deine erste Fehlvermutung ist das ein Makerbefehl lediglich einen Rechentakt benötigt. Wenn wir nun von der maschinennahen Sprache Assembler ausgehen, dann sieht man hier das für gewisse Operationen mehr als ein simpler Rechentakt benötigt wird. Und wir reden von eher "simplen" Dingen wie bspw. zwei Register voneinander abzuziehen.
Gut, ich meinte auch nicht die Prozessortaktung oder sowas, sondern eine vom Maker erzeugte Taktung. Wie ein Echtzeitkampf, der intern rundebasierend ist. Sonst wäre ein "Warten" auch nicht möglich (Switchänderungen, Variablen... dauernd gleich lang).

Zitat Zitat von makenshi
Das ganze passiert auf jeden Fall schnell genug um eine gewisse parallele Verarbeitung vorzutäuschen. Man sieht diesen Effekt recht gut wenn man versucht zu große PPs laufen zu lassen. Schon hat man den berühmten Ruckeleffekt wegen dem die Leute manchmal Wait 0.0 an ihre PPs hängen.
Der Maker ruckelt weil zwischen den Events hin- und hergeschaltet wird? Und warum nur bei großen PPs - bei kleineren muss er dann doch auch hin- und her schalten?!

Zitat Zitat von makenshi
Augenscheinlich scheint der Maker alles Zeile für Zeile einzulesen. Ergo wird wohl markiert sein welche Teile zum ELSE CASE gehören und welche eben nicht. Diese werden zwar kurz gelesen, aber dann wohl einfach übersprungen. Immerhin ist die Funktion des Zweiges das eben dies geschehen soll.
Hm, aber warum benötigt er dann für dieses Überprüfen des Elses so lange? Schließlich wartet er bei anderen Befehlen den besagten Takt.

Aber schonmal gut zu wissen, dass er springt.


CapSeb