Delphi TLabel really can be a flickering beast. Many people recommend double buffering, but I don't like it. This creates other problems. In particular, if you use themes, then double buffering can interfere with thematic rendering.
My trick for working with fleck label is to use TStaticText instead of TLabel . This is a window control, a wrapper around the Windows STATIC , and in my experience, it does not flicker consistently in the scenario where the TLabel will be.
As others have noted, the throttle update rate is a solid idea, and it is reasonable regardless of the flicker. There is no need to spend resources updating the user interface faster than the human eye can absorb. For something like a boot, in my opinion, in fact, you do not need more than 5 Hz. This may be the main cause of your problem, and if throttle refresh rate solves the problem, you can stick with TLabel .
My answer has a few more general anti- flicker tips : TLabel and TGroupbox Flicker on Resize headers .
source share