![]() |
[Artikel] Painting only when your window is visible on...
Auf meiner Homepage gibt es eine neuen Artikel: "
![]() Er beruht auf dem gleichnamigen Artikel von Raymond Chen: ![]() Zitat:
|
Re: Painting only when your window is visible on the screen
Schön das du die Zeit gefunden hast das mal zu übersetzen. Auch nach Delphi. ;)
Danke. |
Re: Painting only when your window is visible on the screen
Nice, aber...Hat das jemand Korrektur gelesen? Weil da doch einige Schlechtschreibfehler drinne sind...Und die Grammatik gefällt mir an dieser Stelle auch nicht wirklich:
Zitat:
Zitat:
Aber das Tutorial ist nett... :wink: |
Re: Painting only when your window is visible on the screen
wird durch invalidate nicht genau der Effekt auch erreicht? Ich dachte es wäre so das erst wenn das Fenster sichtbar wird dann die wm_Paint nachricht kommt (kann mich natürlich auch täuschen -> wird dann gleich getestet)
Ich hab grad getestet und es ist wirklich so. Wenn man "Control.Invalidate" aufruft wird nur eine wm_paint ausgelöst wenn die Komponente sichtbar ist. Wenn die Komponente nicht sichtbar ist wird erst sobald die Komponente sichtbar ist die wm_paint ausgelöst |
Re: Painting only when your window is visible on the screen
Zitat:
Zitat:
PS: Das sind ![]() |
Re: Painting only when your window is visible on the screen
Erst mal Danke für eure Verbesserungsvorschläge. Werde ich gleich einarbeiten.
Zitat:
|
Re: Painting only when your window is visible on the screen
Invalidate macht über umwege auch nix anderes als InvalidateRect aufzurufen. Werds aber heut abend mal probieren ob es bei direkter verwendung der Api dann wirklich nicht geht.
|
Re: Painting only when your window is visible on the screen
Aber auch wenn es so sein sollte, der Sinn ist ja, dass der Timer nur läuft und Systemressourcen braucht, wenn das Fenster auch sichtbar ist.
|
Re: Painting only when your window is visible on the screen
also ich habs grad getestet und auch bei Verwendung InvalidateRect wird erst die wm_paint-message ausgelöst wenn das Fenster wieder sichtbar ist.
@Luckie: Auf diese Art und weise werden ja auch nur systemressourcen benötigt wenn das Fenster sichtbar ist (zum painten). Und die Ressourcen für den Timer spaart man sich auch noch. Aber hat wohl alles auf irgendeine Art vor und Nachteile. Wollte nur der Vollständigkeit halber eben erwähnen das es auch noch andere Möglichkeiten gibt das "painting only when windows is visible" zu erreichen. |
Re: Painting only when your window is visible on the screen
Ich glaub das was Lucki erreichen will passt nicht ganz zu seinem Titel,
der Titel müßte lauten "Minimieren der Resourcen bei unsichtbarem Fenster" oder so ähnlich ... weil gemalt wird definitif nichts, wenn ein Fenster nicht sichtbar ist... mfg DerDan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz