Refresh flashing how to avoid ?

  • A1B1
    A2B2
    A3B3
    A4B4
    A5B5

    Our machine GUI uses emwin, and the whole window background window is the parent window
    The coordinates are A(A1-A5) and B on the right
    It's all use Framewin.
    Between A1 and A6, there is a gap of 1 pixel, so that there is naturally a background color as a dividing line

    Now there's a pop-up window, and when it opens, it's the part that covers A(A1-A5).
    Issue:
    When you close this large window, you can see the process of closing the window.
    And it feels like the background, a few Framewin refreshes cut the large window into several parts


    In the refresh of the main window, I will draw the background color the size of the A+B real screen (because the pop-up window will have residues)

    emwin5.48 version

    I can not use NUM_BUFFERS because of driver not ok

    if i remove A1-A5, no flashing

    Edited 2 times, last by hpxzw520 (June 13, 2024 at 7:06 AM).

  • Hi,

    What you are describing sounds like flickering, which is normal behavior when the display is updated frequently and there is no multi buffering or display cache enabled.

    Which display driver are you using? Some drivers support a caching mode that reduces the flickering.

    Alternatively, there is also caching handled by the window manager based on memory devices. This can be enabled by calling WM_SetCreateFlags(WM_CF_MEMDEV) after GUI_Init() and before creating any windows.

    Best regards,
    Florian

    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: https://www.segger.com/ticket/

    Or you can contact us via e-mail.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!