Das bei dem Code das Bild nicht freiggeben wird ist extrem unwahrscheinlich und rechtfertigt meiner Meinung nach kein try finaly.
Abgesehen davon sollte das Instanzieren des Backpuffers im Konstruktor des Formulars efolgen und nicht in der Methode und der Backpuffer sollte unter private als Feld deklariert werden
Man kann sich transparenz auch selber basteln mit Masken. (siehe google) Ob das Schneller ist oder du einfach die Grenze der
GDI erreicht hast müsste man testen. Da du aber keine Bilder zeichnen willst(?) reicht BrushStyle := bsclear.
Du zeichnste doch erst alles auf ein Hintergrundbild und koppierst dann das Hintergrundbild auf die Paintbox oder?
Man kann die Zeichenfläche auch eingrenzen. Ob das was bringt müsste man testen.
Delphi-Quellcode:
Rgn := CreateRectRgn(0,0,width-10,height-10);
SelectClipRgn(fbild.Canvas.Handle,Rgn);
deleteObject(Rgn);