Schleifen laufen zu langsam

  • 5 Antworten
  • Neuester Beitrag
Diskutiere Schleifen laufen zu langsam im Automatisierung - Tasker im Bereich Tools.
Sajo

Sajo

Stammgast
Hallo,

ich habe eine Schleife angelegt die bis zu einem bestimmten Wert durchläuft.

Die Variable in der Schleife fängt mit 0 an und wird fortlaufend jede Sekunde um 1 erhöht. So die Theorie jedenfalls.

Stop ich allerdings nebenher mit der Stopuhr und warte bis die Wertausgabe kommt mit den Sekunden, hinkt das irgendwie hinterher.

Bsp. ausgerechnete Zeit 45 Sekunden. Ausgegebener Wert aber blos 33 Sekunden.

Kann man das beschleunigen?
 
C

Chillmann

Stammgast
Hi,

also ich nehme mal an die Schleife macht irgendwas, dann kommt 1sec Wartezeit und sie beginnt von vorn. Höchst wahrscheinlich kommt zu der 1sek Wartezeit noch die Rechenzeit für die übrigen Aufgaben in der Schleife. Jetzt bringt es aber nichts die Wartezeit zu verkürzen, da die Rechenzeit mit der aktuellen CPU-Last variiert. Du könntest zu Beginn der Schleife ne variable setzen: %TIMES zu %times + 1 (use math) und statt der festen Sekunde Wartezeit, ein wait until: until %times ~ %TIMES. Bei der wait until -Funktion muss allerdings das Zeitintervall zur Überprüfung der "until-Bedingung" festgelegt werden, welches bei dir natürlich möglichst klein sein sollte. So 10-50ms würde ich empfehlen.


Gruß

Chillmann
 
Sajo

Sajo

Stammgast
ja stimmt das werde ich mal ausprobieren.

Meine erste Möglichkeit die ich versuchen wollte ist leider nicht realisierbar.
Ich wollte am Anfang der Schleife die Zeit in eine variable schreiben und am Ende der Schleife die Zeit in eine zweite schreiben. Danach %zeit1-%zeit2.

Wurde leider durch den erheblichen Rechenaufwand nicht wirklich rentabel.

Am Zeitmanagement kann man wirklich noch etwas überarbeiten.
 
A

Anturix

Dauergast
Moin

Tasker ist nicht darauf ausgelegt, Aktionen innerhalb einer bestimmten Zeit auszuführen.
Die Aktionen werden abgearbeitet, wenn der jeweilige Task in der Warteschlange (Zeit+Prio) dran ist.

Anturix
 
Georgius

Georgius

Dauergast
Welches Ziel hat die ganze Aktion. Oft verirrt man sich schon im Ansatz.
 
Sajo

Sajo

Stammgast
Der Grundgedanke war für eine bestimmte Schleife einfach die Zeit zu stoppen.
Die Anzahl der Wiederholungen der Schleife ist unbestimmt und wird durch eine Eingabe
gemacht.

Da das so aber nicht funktioniert hab ich jetzt die Zeitmessung rausgelassen.
 
Ähnliche Themen - Schleifen laufen zu langsam Antworten Datum
52