Skip to content

Fix window resize graphical glitches #1216

Open
@DanRStevens

Description

@DanRStevens

There are graphical glitches when dragging to resize the window.

This can be illustrated with the test-graphics project. Hit F2 to enable window resizing, then drag the window borders. Dragging from the bottom produces the most extreme glitches, with lots of bouncing and flickering.

I suspect there is a delay between the resize event and when OpenGL render parameters get updated. I believe this leads to some frames being drawn with the old parameters, rather than the updated window dimensions.

Dragging either the bottom or top borders causes the image to bounce and flicker, and can leave an unpainted area along the bottom edge. Dragging from the left or right can leave an unpainted area along the right edge, though without any bounce.

OpenGL has an origin in the bottom left, whereas most UI drawing is done relative to the top left. This perhaps explains some of the asymmetry in the glitches. When dragging the bottom or top borders, there is a mismatch between OpenGL's bottom left draw origin, and the UI's top left origin. During that period of mismatch, things are drawn at a different vertical offset than normal, causing the up and down bouncing, and flickering.

A moving left side produces fewer glitches since drawing is expected to be relative to the left side, though it does leave an area with no painting along the right edge for a brief moment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions