窗口刷新(100分)

  • 主题发起人 主题发起人 吕刚
  • 开始时间 开始时间

吕刚

Unregistered / Unconfirmed
GUEST, unregistred user!
我正在设计一个程序,界面上的图形控件较多,每次界面刷新时显示速度很慢,
就象动画一样,请问怎样解决?
 
>>图形控件较多
这种情况下这种问题不好解决!
 
用好的图形控件,
最好是可用jpeg这样文件比较小的图形的那种控件!

用高档计算机!

使用缓存!
 
单独刷新变化的图象,不变化不刷新。
 
尽量减小图形的尺寸
 
还是使用BMP,这种格式的图形Windows处理起来非常快
 
优化你的程序,
能不能分成几个部分分别处理,不变化不刷新?
能不能用资源占用较小的控件?
能不能使用buffer来缓冲?
……
多想想。
 
是你自己定制的控件吗? 我写过的一个Active Form,
基本没有用标准控件,包括按钮,列表栏,进度条,分页面等等,
不下百余个的图形控件组合,没有发生任何的延迟。

我想,问题出在以下方面:
1) 是否在控件中应用了较大的位图,这样在刷新时,如果机器内存不够,
   会导致位图重载的磁盘交换,降低速度。
  
  2) 对于自己制作的控件,是否采用了一些较慢的处理方法。如在画渐变色
   背景时,使用Canvas.Pixels属性控制色彩而不是直接控制内存数据.

3) 是否在控件的绘制方法中加入了不恰当的等待和同步等操作.

4) 程序本身是否有耗尽CPU计算时间的缺陷.

以上观点,仅代表个人意见,依此入市,风险自负. xi xi ...

 
来自:吕刚 时间:00-10-23 13:00:25 ID:373415
感谢各位高手的指点,我的问题还是没有解决。
我想我这个窗口刷新是不是可以这样解决:
先开辟一块屏幕缓存,将屏幕刷新的数据写入缓存,然后一次将缓存内容写入屏幕。
如果能够这样解决的话,那么怎样写入屏幕缓存?请各位指教,谢谢!


不要再开新贴了!!!
 
吕刚:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。



 
同意GGCAT
不过
我不知道你试过窗口类的CS_SAVEBITS style没有?
 
多人接受答案了。
 
后退
顶部