大家好!
   我在程序中image图片动态加载图片。出现屏幕闪烁问题。在网上搜了搜说把窗体form.doublebuffered:=true;我这样做的,屏幕闪烁问题解决了。可是程序运行所占CPU从10%左右增到40%左右。我的程序比较大,用到了很多个线程。不知道是哪里的问题,请大家帮忙!

解决方案 »

  1.   

    难道你不加doublebuffered,cpu占用就小了吗
      

  2.   

    是啊,我不设置doublebuffered:=true的话CPU仅占10%左右,设置doublebuffered:=true的话CPU要占40%左右
      

  3.   

    加载图片的时候会受影响吧
    鱼和熊掌不可兼得
    画面的流畅是要牺牲点CPU的
    把你加载图片的逻辑再优化一些吧
    如果加载的图片固定,可以把图片先加载到内存,每次从内存中读取图片
      

  4.   

    看看
    procedure TWinControl.WMPaint(var Message: TWMPaint);
    下的代码,也行你就会明白一些了