Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Wie kann man CPU-Zeit/Energie sparen? (https://www.delphipraxis.net/207381-wie-kann-man-cpu-zeit-energie-sparen.html)

sh17 18. Mär 2021 13:48

Wie kann man CPU-Zeit/Energie sparen?
 
Mir fehlt gerade die richtige Anlaufstelle.

Wenn ich in einer Komponente eine Animation oder was auch immer mache, was regelmäßig CPU und Energie kostet - wie kann ich erkennen, ob meine Anwendung/Komponente
gerade sichtbar ist? Evtl ist ja meine Anwendung minimiert, das Fenster verdeckt oder der Bildschirm deaktiviert, oder meine Anwendung befindet sich in was weiß ich für
einen Nichtstun-Modus. Was wäre der richtige Weg so etwas zu erkennen und auf Ebene einer UI-Komponente darauf zu reagieren?

Konkret geht es auch um das hier:

https://github.com/norgepaul/TChromeTabs/issues/92

TiGü 18. Mär 2021 14:07

AW: Wie kann man CPU-Zeit/Energie sparen?
 
Probiere mal so:
https://devblogs.microsoft.com/oldne...2-00/?p=103507

Der schöne Günther 18. Mär 2021 15:27

AW: Wie kann man CPU-Zeit/Energie sparen?
 
Ich hätte Windows jetzt für so schlau gehalten dass dein Fenster auch nur Anweisungen (WM_PAINT?) bekommt sich neu zu zeichnen, wo es auch Sinn macht.

Wenn du in einem Timer oder ähnlichem natürlich dauerhaft Berechnungen laufen hast auch wenn niemand sie braucht...

sh17 18. Mär 2021 16:22

AW: Wie kann man CPU-Zeit/Energie sparen?
 
Das denke ich auch, das Windows bei WM_PAINT so schlau ist. Ich muss mich nur noch etwas mehr in TChromeTabs einlesen, bevor ich da alle Ecken kenne, speziell, warum das über einen Thread gelöst wurde.

Ich hab hier noch was gefunden

https://stackoverflow.com/questions/...rently-visible

Mit dem Vorschlag von TiGü und dem Link hab ich es erst mal abgefangen.

KodeZwerg 18. Mär 2021 17:20

AW: Wie kann man CPU-Zeit/Energie sparen?
 
Wie wäre es, bei Windows zumindest, mit einer GetForegroundWindow() Prüfung in regelmäßigen Abständen bzw als Kondition in Deinem "Mal-was" Thread?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz