Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hallo zusammen,
ich habe eine kurze Frage
Sind die benötigten Ressourcen eines Qtimer unabhängig von dereren Länge, also ob ich jede 1 Sekunde etwas ausführe oder eben nur alle 850 Sekunden? Ich gehe mal davon aus es hängt an der komplexität der jeweiligen Methode die dann aufgerufen wird, oder?
Ich führe nämliche alle X Sekunden eine Rechnung aus und schreibe dann den Wert der Progress Bar neu.
Nebensächlich:
Da sich die Progress Bar in 1% Schritten fortbewegt würde laut meiner Rechnung eine Aktualisierung sich erst alle bei min. 864 Sekunden lohnen, da voher das Delta <1% wäre...
@Tinker232: Grundsätzlich hängt der Ressourcenverbrauch eines `QTimer` davon ab was man in der Rückruffunktion macht. Das gilt auf jeden Fall für `QTimer` die in den angesprochenen Grössenordnungen auslösen. Wenn die Frequenz sehr hoch ist, dann fällt natürlich auch noch das bisschen Rechenzeit ins Gewicht die der `Qtimer` selbst verbraucht, aber das ist bei Frequenzen ≤ 1Hz nicht relevant.
Man kann neben der Prozentzahl auch den aktuellen Wert und den maximalen Wert anzeigen lassen. Auch zusätzlich zur Prozentzahl. Und bei solch langen Laufzeiten (~24h) würde ich persönlich ja noch überlegen zusätzlich selbst ein oder mehrere Label zu erstellen wo mehr Informationen stehen. Also zum Beispiel vergangene Zeit und/oder noch erwartete verbleibende Restzeit und die dann mindesten 10sekündlich oder so zu aktualisieren.
Edit: Oder das aktualisieren gar nicht zeitabhängig machen, sondern nach jeweils x Verarbeitungsschritten.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?
Hallo blackjack,
danke für den Hinweis
Kannst du mir erklären, warum überhaupt es möglich ist, dass das GUI nicht durch den QTimer der sekündlich ein timeout bekommt irgendwie ins stocken gerät?
So wie ich es gelesen habe wird ja nicht explizit eine Thread im Hintergrund erstellt, sondern er arbeitet nur wenn die Zeit um ist.
@Tinker232: Ich würde ja eher umgekehrt fragen warum die GUI ins stocken geraten sollte wenn der `QTimer` nur einmal in der Sekunde eine Methode aufruft die nur ganz kurz etwas macht‽ In der Zeit zwischen den Aufrufen läuft ja kein Code der CPU-Zeit verbrauchen würde durch den `QTimer`.
“Every thinking person fears nuclear war and every technological nation plans for it. Everyone knows
it's madness, and every country has an excuse.” — Carl Sagan, Cosmos, Episode 13: Who Speaks for Earth?