Write Less CPU-Bound Animations

Write Less CPU-Bound Animations

When doing animation, such as scrolling a label or using picture boxes, I first used the method described by Eric Bernatchez (“Smoother Control Animation,” “101 Tech Tips for VB Developers,” Supplement to the February 1997 issue of VBPJ, page 21). However, I found that while in the Do Loop, the CPU usage is 100 percent! Windows NT, Windows 95, and Win32 have an API call named SLEEP. This call suspends the called application for the supplied amount of milliseconds. When you change the code, the CPU usage on a Pentium 100 drops to 10 percent:

 Declare Sub Sleep Lib "kernel32" ( _	ByVal dwMilliseconds As Long)Public Sub Scrolling()	Label1.Left = Me.Width	Do		Sleep 100		Label1.Left = Label1.Left - 60		DoEvents	Loop Until Label1.Left 

The only problem with this method is that your app won't respond to userinput while it sleeps, so don't let it sleep too long.


Share the Post: