Screensaver-Programmierung

04/12/2007 - 12:09 von Vladimir Oesterreich | Report spam
Hallo @all,
Ich möchte ein einfacher Bildschirmschoner zu programmieren, der
bewegendes Logo auf einem Hintergrund anzeigt. Die Aufgabe ist relativ
einfach - Timer einstellen, OnPaint - Ereignis einbinden und funzt.
Jedoch aufgrund der Animation (Logo) verbraucht das Ding 100% CPU -
Ressourcen, da die Oberflàche stàndig neu gezeichnet werden muss. Die
vergleichbare original Windows - Saver verursacht dagegen nur ca. 30%
CPU - Auslastung.
Meine Frage: Wo ist der Wurm? Kennt jemand irgend-eine Vorgehensweise um
die Animation mit geringen CPU - Auslastung zu bekommen?

Vielen Dank im Voraus
MfG Vladimir
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
04/12/2007 - 22:25 | Warnen spam
"Vladimir Oesterreich" schrieb:
Ich möchte ein einfacher Bildschirmschoner zu programmieren, der
bewegendes Logo auf einem Hintergrund anzeigt. Die Aufgabe ist relativ
einfach - Timer einstellen, OnPaint - Ereignis einbinden und funzt. Jedoch
aufgrund der Animation (Logo) verbraucht das Ding 100% CPU - Ressourcen,
da die Oberflàche stàndig neu gezeichnet werden muss.



Um mögliche Optimierungen zu zeigen, müßtest Du Code posten.

Die vergleichbare original Windows - Saver verursacht dagegen nur
ca. 30% CPU - Auslastung.



Beachte, DirectX und GDI (von den Windows-eigenen Bildschirmschonern
benutzt) werden hardwarebeschleunigt (auf der Graphikkarte) verarbeitet,
wohingegen GDI+, das in .NET verfügbar ist, keine Hardwarebeschleunigung
unterstützt und auf der CPU ausgeführt wird.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen