winapi – Best way to do non-flickering, segmented graphics updates in Delphi? – Stack Overflow
Posted by jpluimers on 2011/07/05
Recently, Jon Lennart Aasenden (of Surface Library fame) asked a nice winapi – Best way to do non-flickering, segmented graphics updates in Delphi question on StackOverflow.
Though the question is marked Delphi, the boundaries and solution very generic, and apply to any graphics library or GUI you develop: Windows, Mac, iOS, et cetera:
- Avoid double buffering when using GUI connections
- Draw only what you need
- Avoid redrawing whenever possible (for instance by letting the OS perform scrolling for you)
–jeroen
Robin the superhero said
I found that things like this create the flickering of that particular control:
progressBar.Refresh;
while
application.processmessagges;
creates a smooth and controllable form.
jpluimers said
And at the same time Application.ProcessMessages creates a huge opportunity for reantrancy trouble. So better find the real source of the painting problem. And remember: Paint less means smoother operation.