Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Jul 24, 1998

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 <= -(Label1.Width + 15)
End Sub

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

Derek Robinson
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date