realbasic-nug
[Top] [All Lists]

RE: Windows Flicker Help

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: RE: Windows Flicker Help
From: Joe Huber <joehuber at talasoft dot com>
Date: Sat, 31 Mar 2007 06:13:02 -0700
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <20070329082046 dot ITGH10109 dot aa08 dot charter dot net at CB56611-T dot chickensys dot com> <000001c7727a$24e989d0$6401a8c0 at MikeBrHP> <20070331061430 dot UKLY16955 dot aa03 dot charter dot net at CB56611-T dot chickensys dot com>
At 12:43 AM -0500 3/31/07, Rubber Chicken Software Co. wrote:
>Right now I've isolated the flicker into 3 areas - 1) a
>quick-updating time counter in a StaticText that sits on a Canvas, 2)
>white flashes when a Clip is visible and invisible, and 3) quivering
>Clips when picture has to be updated frequently (100ms or so) to
>display a moving Progress line and a "smoky mask" that shows where
>the Progress line has travelled.

Overlapping controls are a dangerous thing, especially on Windows.

My recommendation is to get rid of the statictext controls and use 
g.DrawString to draw that text right into the canvas. Or better yet 
use an offscreen picture to composite the graphics and text together 
and THEN draw it to the canvas.

Alternatively you might consider other things:

1. Make sure the Parenting of any overlapping controls is set 
correctly. The background control should completely enclose any 
control that's above it, and the background control should have a 
lower control order. This gives RB a better idea of which controls 
need to be updated together.

2. Do you have a tight loop that might prevent the main event loop 
>from running and updating the screen? If so then consider moving that 
tight loop into a thread and adjust its Priority to give a 
satisfactory screen update experience.

3. Use Parallels on an Intel Mac to make it look like a Wndows 
desktop but run your app on OSX anyway. :-)

Regards,
Joe Huber
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>