Ergebnis 1 bis 6 von 6

Thema: Wie schnell werden Abfragen im 2k3 verarbeitet?

  1. #1

    Wie schnell werden Abfragen im 2k3 verarbeitet?

    Angenommen ich hab an die 50+ Conditional Branches in einem Common-Event, die alle abfragen ob bestimmte Switches ON oder OFF sind und/oder bestimmte Variablen einen bestimmten Wert haben und im "if"-Fall werden Werte von andere Variablen zu neuen Variablen addiert und im "then"-Fall subtrahiert etc. Keine Texte, keine Pictures, gar nix. Nur Variablen und Switches in sehr langen Ketten. Keine Unterbrechung durch Waits. Wie lange dauert es exakt, bis der Maker eine solche Eventpage einmal runtergerattert hat? Verarbeitet der Maker eine solche Abfrage in einem Common-Event genauso schnell wie 50 oder mehr in einem Event hintereinander? Kann man einen solchen, sehr langen Common-Event auf einer Map mehrfach hintereinander mit 0.1-Waits callen, ohne dass sich die Vorgänge überschneiden?

    Geändert von TwoFace (13.05.2013 um 02:35 Uhr)

  2. #2
    Folgendes verstehe ich nicht:
    Zitat Zitat
    Kann man einen solchen, sehr langen Common-Event auf einer Map mehrfach hintereinander mit 0.1-Waits callen, ohne dass sich die Vorgänge überschneiden?
    Wie kann sich etwas überschneiden, wenn du es hintereinander aufrufst?

    Wenn in deinem Eventcode steht
    Code:
    Call CE(0001)
    Wait 0.1
    Call CE(0001)
    Wait 0.1
    Call CE(0001)
    Wait 0.1
    Dann wird das CE aufgerufen, komplett durchlaufen, dann kommt das Wait. Diese CEs können sich nicht überschneiden.
    Das komplett durchlaufen bezieht sich auf das Event. Es kann sehr gut sein, dass der Maker dies nicht alles in einem Frame schafft oder zwischenzeitlich zu anderen Events wechselt, die als PP laufen.

    Mal angenommen, du hast Parallel Processes, die gleichzeitig laufen. Wenn du in beiden das CE aufrufst kannst du selbstverständlich nicht sicher sein, dass die sich nicht überschneiden. CEs sind nicht wiedereintrittsfähig. Entweder du verriegelst es, oder das Ergebnis ist fehlerträchtig. Die Frage nach dem "Schnell genug" erübrigt sich.

  3. #3
    Zitat Zitat von Corti Beitrag anzeigen
    Wenn in deinem Eventcode steht
    Code:
    Call CE(0001)
    Wait 0.1
    Call CE(0001)
    Wait 0.1
    Call CE(0001)
    Wait 0.1
    Dann wird das CE aufgerufen, komplett durchlaufen, dann kommt das Wait. Diese CEs können sich nicht überschneiden.
    Genau das wollt ich wissen. Danke. Aber...

    Zitat Zitat
    Es kann sehr gut sein, dass der Maker dies nicht alles in einem Frame schafft oder zwischenzeitlich zu anderen Events wechselt, die als PP laufen.
    ... kannst du mir diese Aussage bitte nochmal erklären? Mir fällts grad schwer mit dem Begriff "Frame" in dem Zusammenhang was anzufangen.

  4. #4
    Der Maker rechnet bei den Events immer von ID 1 zu 9999 durch. Und das ist ein ganz wichtiger punkt, was ggf. das zufällige eintreten von PPs betrifft, vorallem, wenn du so wild mit Variablen rumrechnest.

    LG
    MajinSonic

  5. #5
    Zitat Zitat
    Mir fällts grad schwer mit dem Begriff "Frame" in dem Zusammenhang was anzufangen.
    Das ist ein kurzer Moment, der vergeht, bis dir der Bildschirm wieder was Neues anzeigt, pro Sekunde
    passiert das 60mal. Siehe auch Bildfrequenz.

    Zwischen diesen Frames müssen intern alle Dinge hintereinander abgearbeitet werden, die bis zum
    nächsten Anzeigemoment fertig sein müssen. Das schafft Makerchen auch üblicherweise, nur wenn
    man Loops verwendet, geht der ziemlich schnell in die Knie, was etwas schade ist.

    Was die CEs betrifft, es wäre viel einfacher, mit denen zu arbeiten, wenn andere Events ihren Code
    wie ein Vampir (oder ein Funktionsaufruf) in sich aufsaugen könnten, damit sie sich nicht gegenseitig
    blockieren sondern gleichzeitig das gleiche CE nutzen können.

  6. #6
    Nicht wiedereintrittsfähiger Code sollte entsprechend behandelt werden. Thema durch.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •