-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
a: desktopRunning on desktopRunning on desktope: glfwGLFW desktop embeddingGLFW desktop embeddingengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyplatform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyplatform-windowsBuilding on or for Windows specificallyBuilding on or for Windows specifically
Description
The desktop shells resize the graphics context on the main thread, while drawing to it happens from a background thread. This can cause crashes (#17579), but even when it doesn't there are often strange rendering behaviors (red flashes, briefly transparent or garbage-filled windows, etc.)
Beyond just fixing the crashes, we need a robust solution to make resizing feel reasonable. Visually, synchronous repaints would probably be ideal, but something that isn't synchronous, but is highly responsive while avoiding shaking and/or tearing would likely feel good enough (c.f. Chromium's async renderer painting).
hpoul, rhencke, Kiruel, hayderux, rknell and 6 more
Metadata
Metadata
Assignees
Labels
a: desktopRunning on desktopRunning on desktope: glfwGLFW desktop embeddingGLFW desktop embeddingengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyplatform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyplatform-windowsBuilding on or for Windows specificallyBuilding on or for Windows specifically