Einzelnen Beitrag anzeigen

Benutzerbild von edosoft
edosoft

Registriert seit: 27. Okt 2003
Ort: Wehingen
258 Beiträge
 
Turbo Delphi für Win32
 
#1

BitBlt und TImage auf verschiedenen Systemen unterschiedlich

  Alt 19. Nov 2006, 11:57
Hallo,

Ich hab einen P4 mit HT und 3,4Ghz im Laptop mit WinXPSP2 drauf.
Jetzt hab ich mir ein Programm gebastelt mit CAD-Oberfläche. Jetzt soll so ein Objekt (kreis oder Strich oder so) ja angezeigt werden wenn ich mit der Maus drüberfahre. also hab ich bei meinem TImage was als zeichenfläche fungiert beim onmousemove event eine routine die zuerst ein bckground-tbitmap in ein zweites tbitmap kopiert, per bitblt, und da wird dann das objekt reingezeichnet. wieder mit bitblt wird das 2. tbitmap auf mein TImage kopiert.

wenn ich jetzt am Laptop mit der Maus so drüberfahre geht die Prozessorlast auf 40-50% hoch. an nem anderen rechner mit nem athlon xp 2000+ oder sowas wieder mit windows xp drauf verursacht das ganze aber nur 8-10% cpu last. und selbst an nem driten rechner mit nem P2 mit 500mhz oder so und win98 läuft das programm noch flüssig. warum?

Delphi-Quellcode:
  BitBlt(tB.Canvas.Handle, 0, 0, cBackBmp.Width, cBackBmp.Height, cBackBmp.Canvas.Handle, 0, 0, SRCCOPY);
  [..]
  BitBlt(Image1.Canvas.Handle, 0, 0, Image1.Width, Image1.Height, tB.Canvas.Handle, 0, 0, SRCCOPY);
  Image1.Repaint;
mfg,
dominik weber
Dominik Weber
www.edo-soft.com
  Mit Zitat antworten Zitat