看看我写的图像处理程序速度怎样
http://www.csdn.net/expert/topic/879/879364.xml?temp=.8707544http://zyl910vb.51.net/vb/map/ZDIBop.htm
用FlashGet或IE自身的下载功能(右键,目标另存为)下载后注意把*.rar.jpg改名成*.rar
如果还是不能下载的话
用这个地址:http://nomey.myetang.com/zdibop.rar
http://www.csdn.net/expert/topic/879/879364.xml?temp=.8707544http://zyl910vb.51.net/vb/map/ZDIBop.htm
用FlashGet或IE自身的下载功能(右键,目标另存为)下载后注意把*.rar.jpg改名成*.rar
如果还是不能下载的话
用这个地址:http://nomey.myetang.com/zdibop.rar
调试时:
for i = 1 to X
....
next
调试完了,编译时要用:
for i = 1 to y * X
....
next
这里的y就是用来加大循环,使编译后的程序速度简慢来与调试时设计的一样。因为在编译后的速度很快,如果不在所有代码调试完后加大循环值的话,那些动画就太快了,游戏没法控制。
用时间循环啊
Timer函数
我想举个例子如下,如果不对的话请指正:
假如你在调试时用的:
PauseTime = 5
Start = Timer
Do While Timer < Start + PauseTime
[程序体]
Loop
Finish = Timer
TotalTime = Finish - Start
假设,其中中间[程序体]的运行时间是t1,将这段[程序体]编译,则[程序体]运行时间为t2,但实际上t1是远远大于t2,如果两者差距太大,比如5倍,就会出现这样一种现象:调试时[程序体]只执行了一遍,而编译后.exe的[程序体]则执行了5遍。这种情况如果出现,打个比方,如果要显示一个3d的模型的动作,一秒20帧,假设[程序体]是用来计算和显示画面帧的,那么你在没有编译时只有得到n帧图象,而编译后就可以有n*5帧。这虽然是好事,因为你得到了更多的帧,画面更好看了,但是既然n帧图象(编译前程序已经有很好的效果了)已经很好了,那么剩下的n*4帧图象的计算就是浪费了,对不对。所以这时有必要在编译时减小PauseTime的值或者在[程序体]中加入多余的循环来使得程序体只执行一遍,注意,只执行一遍,这是这个例子得要求。
当然,如果不是对于速度真得要求很细的工程,就不用考虑这些。如果涉及到及时性很好的程序,速度的影响就不能不考虑了。
不好意思,这可能说的有点远了,但讨论一下也好。
Start = Timer + PauseTime
[程序体]
Do While Timer < Start
Loop
Finish = Timer
TotalTime = Finish - Start
整数运算比较快
PauseTime = 5
Start = Timer + PauseTime
[程序体]
Do While Timer < Start
Loop
Finish = Timer
TotalTime = Finish - Start
那个loop循环拿来干什么呢。如果是一串动作那么就要把程序体放到loop中去,因为程序体中的一些变量是变化的,它们需要循环。
我觉得这不仅仅是用哪条函数的问题,应该是一种编程方法的问题。大家都不会太在意,因为vb本身是用来开发桌面应用程序的,这次的问题很少人会遇到的。
所以,大家讨论的结果可以作为大家以后在编程中的参考。