Was gibt getTimers() genau aus?

  • Hallo ihr,

    ich habe mir mal ein halbwegs ausführliches Debug/Diagnose Panel gebaut und schon die erste Ungereimtheit entdeckt. Man soll ja so wenig Timer wie möglich benutzen. Daran halte ich mich so gut es geht, aber serverseitig lässt es sich nunmal nicht vermeiden. Ich nutze die Funktion getTimers() (client & serverseitig) um mir die Anzahl der aktuellen Timer zu holen. Meine Blockklasse für Minecraft erzeugt genau einen Timer bei einem bestimmten Blocktype. Nun habe ich folgendes festgestellt:

    1. Ich starte den Server neu und es laufen 3 Timer (das ist ok so), noch kein Block gesetzt:

    2. Ich setze einen Block und somit sollte von meinem Script aus auch nur ein einzelner Timer dazu kommen, aber es sind über 80 O.o???:

    3. Noch gravierender wird es bei noch mehr Blöcken (wie gesagt, pro Block 1 Timer und das auch nicht immer da nur ein Blocktyp bei mir Timer hat):

    4. Komischerweise sinkt die Anzahl der Timer nach einer Weile wieder:


    Was genau gibt also nun getTimers() zurück? Werden beim erstellen von Timern im Hintergrund noch andere Timer gestartet? Oder gibt die Funktion irgendwelche Sachen wieder, bei denen es sich nicht um Timer handelt? Dann hätte ich ja einen Bug gefunden.

    Das Verhalten kann hiermit nachgestellt werden: https://github.com/Samake/Minecraft

    Zur Kontrolle nochmal die Blockklasse:

    :)

    Einmal editiert, zuletzt von Sam@ke (26. August 2015 um 17:02)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!