wdbee hat folgendes geschrieben: |
@Mike_C: Worin besteht denn deiner Meinung nach die Einsparung?
Vergleich doch mal das Verhalten von TPaintbox und TImage, wenn du das so machst. Bei TImage bleibt das Bild erhalten, wenn es mal verdeckt wurde, bei TPaintbox nicht. Das heißt doch aber, dass TImage das Bild speichert und TPaintbox nicht. Also wird deshalb nichts gespart! |
Der Punkt ist der: wie du richtig sagst, wird von TImage das Bild gespeichert: es hängt also letztendlich im Speicher! wenn du nun mehrere große Bilder (Größen ab 800x600 und größer) mit Picture.LoadFromFile lädst, wird das eine menge speicher unnötig verschwenden. wenn du aber den Weg über die Bitmap nimmst, malst du nur auf den Canvas und gibst den belegten speicher wieder frei! klar, du brauchst eine extra Update-Routine für deine Bilder. Dein Punkt gilt meiner Meinung nach nur für den Fall, wenn du das Bild direkt in Picture reinlädst und den Canvas nicht bemalst.
AXMD hat folgendes geschrieben: |
Nimm doch gleich BitBlt oder schreib TCanvas neu, Mike_C
AXMD |
warum denn den Canvas neu schreiben? Sorry, aber deinen Kommentar verstehe ich nicht. Ich erfinde doch jetzt wirklich nicht das Rad neu!