为何在这样在内存中画图这么慢呢??

                            
这样比直接在PaintBox上画图居然要慢许多,   是什么原因呢????   
  var    
      BackMap   :   TBitMap;  
  begin  
      BackMap   :=   TBitMap.Create;  
      BackMap.Width   :=   PaintBox.Width;  
      BackMap.Height   :=   PaintBox.Height;  
      BackMap.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),PaintBox.Canvas  
                                                      Rect(0,0,PaintBox.Width,PaintBox.Height));  
   
      BackMap.Canvas.Pen.Color   :=   clLime;  
      BackMap.Canvas.Pen.Mode   :=pmCopy;  
   
      BackMap.Canvas.MoveTo(x,y);  
      BackMap.Canvas.LineTo(x,y);  
      ......  
   
      PaintBox.Canvas.CopyRect(Rect(0,0,PaintBox.Width,PaintBox.Height),BackMap.Canvas  
                                                        Rect(0,0,BackMap.Width,BackMap.Height));  
      BackMap.Free;  
  end;

查看回复