L
Luc
For a kiosk-type application I have a form with some labels placed directly
onto it, and an empty panel that covers part of the form.
During program execution, labels are added to and removed from that panel
to display different information.
The form has a background image.
Its DoubleBuffered property = True to avoid flickering during updates, but
double buffering seems to be used only for controls placed directly on the
form, not for those within the panel. Updating the panel without visible
flicker seems to be impossible.
Each "flicker" consists of the background image within the panel's
boundaries first disappearing (replaced by the form background color), and
reappearing immediately thereafter.
When the background image reappears, that doesn't happen in a single
stroke: it becomes visible first for about half of the area. The rest
follows at the next display refresh (I mean monitor vertical sync).
If you ask me, this (disappearing / reappearing in more than one display
refresh) means it is either not being double-buffered, or the working
buffer is copied into the screen buffer to soon, while it is still being
repainted.
The platform is XP Professional (application being developed for later use
on XP Embedded).
The flicker does NOT seem to occur on my development machine, which is
running Vista, but this machine is also equipped with a more performant
processor and display adapter, which may explain the difference too.
onto it, and an empty panel that covers part of the form.
During program execution, labels are added to and removed from that panel
to display different information.
The form has a background image.
Its DoubleBuffered property = True to avoid flickering during updates, but
double buffering seems to be used only for controls placed directly on the
form, not for those within the panel. Updating the panel without visible
flicker seems to be impossible.
Each "flicker" consists of the background image within the panel's
boundaries first disappearing (replaced by the form background color), and
reappearing immediately thereafter.
When the background image reappears, that doesn't happen in a single
stroke: it becomes visible first for about half of the area. The rest
follows at the next display refresh (I mean monitor vertical sync).
If you ask me, this (disappearing / reappearing in more than one display
refresh) means it is either not being double-buffered, or the working
buffer is copied into the screen buffer to soon, while it is still being
repainted.
The platform is XP Professional (application being developed for later use
on XP Embedded).
The flicker does NOT seem to occur on my development machine, which is
running Vista, but this machine is also equipped with a more performant
processor and display adapter, which may explain the difference too.