上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
优化程序显示速度
作者:未知 申领版权
2010年11月15日 共有 2076 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    由于 Microsoft Windows 的图形特性,图形和其它操作的显示速度在很大程度上决定了应用程序的感觉速度。窗体出现及画图的速度越快,应用程序就会显得越快。
    以下的几种技术可用来提高应用程序的显示速度:
    1. 将容器的 ClipControls 属性设置为 False
    除非正在使用图形方法(Line,Pset,Circle 和 Print),否则将窗体、框架及 PictureBox 控件的 ClipControls 设置为 False(如果代码包含了在其它控件之后绘图的图形方法,则这可能导致不可预测的结果)。当 ClipControls 设置为 False 时,在重画控件本身之前,Visual Basic 不会用背景覆盖控件。这在窗体包含大量控件时,会大大提高显示速度。
    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。
    
    2. 恰当地使用 AutoRedraw
    当窗体或控件的 AutoRedraw 设置为 True 时,Visual Basic 会利用位图重画该窗体或控件。这种方法虽然提高了简单情况的重画速度(例如,在删除覆盖在窗体或控件上的窗口后,窗体或控件重新显示),但会降低图形方法的速度。此时,Visual Basic 就会在 AutoRedraw 位图上进行图形方法操作,再把整个位图复制到屏幕上。这个过程也占用了相当数量的内存。
    如果应用程序产生的图形复杂但是不常改变,AutoRedraw 设置为 True 较为合适。如果图形需要经常改变,则 AutoRedraw 设置为 False 的效果更好,并且在 Paint 事件中进行窗体或控件的图形方法操作。
    详细信息 请参阅“使用文本和图形”中的“使用 AutoRedraw 和 ClipControls 使图形分层”。
    
    3. 用 Image 控件替代 PictureBox 控件
    优化能够提高应用程序的速度,并减小其大小,所以要尽量应用优化技术。如果仅简单显示图片,并只对单击事件和鼠标操作作出响应,应使用 Image 控件替代 PictureBox。除非需要图片框提供的特殊功能时,如图形方法、包含其它控件的能力或动态数据交换 (DDE),否则不要使用图片框。
    
    4. 设置属性时隐藏控件以避免多次重画
    重画的代价是昂贵的。重画的操作越少,应用程序就显得越快。减少重画次数的一种方法,就是操作控件时使其不可见。例如,假设在窗体的 Resize 事件中调整数个列表框的大小:
    
    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    End Sub
    
    该示例产生四次独立的重画,每个列表框一次。把所有的列表框放在图片框中,并在移动或调整列表框大小之前隐藏图片框,就会减少重画的次数。当再次使图片框可见时,所有的列表框一次画出:
    
    Sub Form_Resize ()
    Dim i As Integer, sHeight As Integer
    picContainer.Visible = False
    picContainer.Move 0, 0, ScaleWidth, ScaleHeight
    sHeight = ScaleHeight / 4
    For i = 0 To 3
    lstDisplay(i).Move 0, i * sHeight, _
    ScaleWidth, sHeight
    Next
    picContainer.Visible = True
    End Sub
    
    值得注意的是,该示例中使用了 Move 方法替代设置 Top 和 Left 属性。Move 方法只需一次操作就设置了这两个属性,所以节省了多余的重画。
    
    5. 使用 Line 替代 PSet
    使用 Line 比使用一系列的 PSet 方法快。避免使用 Pset 方法,把一些点组成一条线由 Line 方法一次画出。一般来说,简单、不常改变的图形元素采用形状和直线控件来处理比较合适;而复杂的或经常改变的图形则最好采用图形方法处理。

    

 

相关新闻

您可能对这些感兴趣  

用VB做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
用VB制作注册软件的方法
VB中的时间处理问题

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》