大侠们:新的一年到来了,新的问题也来了。
我需要在窗体中制作一幅动态的图片(我是利用几组图片叠加产生旋转的效果),用到了Timer控件,Interval属性设置为10,运行时发现CPU占用率达到了100%,Interval属性改成100后,CPU占用率达到了50%左右,但这里图片的动态效果很不理想,达不到要求。请教各位,如何在使用Timer控件时,能够减少CPU占用率,或者利用其它的方法,也能使图片产生动态效果。(声明:网上没有找到我需要的相应的动态图片)在线急等。谢谢!!!
我需要在窗体中制作一幅动态的图片(我是利用几组图片叠加产生旋转的效果),用到了Timer控件,Interval属性设置为10,运行时发现CPU占用率达到了100%,Interval属性改成100后,CPU占用率达到了50%左右,但这里图片的动态效果很不理想,达不到要求。请教各位,如何在使用Timer控件时,能够减少CPU占用率,或者利用其它的方法,也能使图片产生动态效果。(声明:网上没有找到我需要的相应的动态图片)在线急等。谢谢!!!
关键问题是你在 Timer 事件中的代码是如何写的?占用 CPU 的是你的处理程序。你最好事先把处理好的图片存起来,比如在 ImageList 控件中,Timer 事件中仅仅更新显示。
Private sub Timer1_timer()
Static i As Integer
i=i+1
picture1.picture=loadpicture("图片名称" & i & ".jpg")
End Sub
运行时CPU占用率达到100%
Option ExplicitPrivate m_Pics(0 To 4) As IPictureDispPrivate Sub Form_Load()
Dim i As Long
For i = 0 To 4
Set m_Pics(i) = LoadPicture("图片名称" & (i + 1) & ".jpg")
Next
End SubPrivate Sub Timer1_Timer()
Static i As Integer
i = (i + 1) Mod 5
Set Picture1.Picture = m_Pics(i)
End Sub
老鸟,你真是老鸟,我按照你说的改了一下代码,运行测试,如果Interval属性设置为10,CPU占用率仍然达到了75%左右;如果Interval属性设置为50,CPU占用率仍然达到了35%左右;如果Interval属性设置为100,CPU占用率仍然达到了25%左右.老鸟,我需要用到的是Interval属性为10的设置,但这个占用率还是高了点,所以请老鸟能不能帮我再想想办法,再次减少CPU的占用率呀,拜托,十分感谢!
http://www.soft14.com/Web/HTML_Utilities/All-into-One_Flash_Mixer_11084_Review.html
不不不,老鸟,我不是想要求图片的清晰度或效果有多好,我只是设置在定时器事件里能让我的图片动起来就行,现在主要的问题就是CPU占用率太高了,我只想用什么办法能解决这个问题。不好意思,给你添麻烦了,老鸟。