将循环数组中的元素连接成一个字符串也是很慢,Join函数可以替代。很卡,并不是每个循环都使用鸽子,比如每1000个循环执行一次鸽子,在显示数据的语句之前执行一次鸽子,如何提高VB 程序 access写的时候运行效率慢!如果还是用DoEvents,也没有什么好办法,除非用多线程。
DoEvents不是在每个循环中都使用,例如,DoEvents每1000个循环执行一次,DoEvents在显示数据的语句之前执行一次。这只是一个展示的问题。计算出来的数据不会错。循环中有很多操作会出现卡顿。如果还是用DoEvents,也没有什么好办法,除非用多线程。DoEvents语句用多了,每个周期都会刷新,跟不上计算的速度。例如,DoEvents可以每100个周期执行一次。
redimpreserve语句有两种改进方法,每次循环都重新定义数组长度,效率非常低。我做了一个实验。从1到1亿依次扩展数组长度用了5、6分钟,但从1亿逐渐缩小到1只需要两三秒。原因是数组扩张时需要重新分配一个完整的空间,然后复制原来的数据,而收缩时不需要重新分配空间,只需要将最大下标指针前移。将循环数组中的元素连接成一个字符串也是很慢,Join函数可以替代。
写的时候存取慢!快读!批量写入40000行access数据大约需要50秒。额头千条线需要1分钟!有多少数据?1MB10MB?还有就是你算法的问题,贴代码看看。这样会体现出VB的基础知识。1.尽量不要读取操作循环中控件的信息。您应该将控件的信息保存到变量中进行操作,例如Str1text1.text.2
1.电脑卡2。数据太多3,算法设计不合理。最有可能:算法不合理,检查cpu使用率,分析程序哪部分代码占用cpu高,修改其结构。检查内存使用情况,分析代码程序哪个部分占用内存高,修改其结构,或者增加内存,如果调用第三方动态库,分析驱动是否有问题。如果调用数据库看数据库操作是否合理,可以考虑使用异步连接,如果调用winsock,检查网络是否正常,连接方式是否合理。
文章TAG:win7 vb 很慢 程序 win7 vb程序很慢