Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The invalidation example behaves differently with wasm #872

Closed
luleyleo opened this issue Apr 24, 2020 · 1 comment · Fixed by #941
Closed

The invalidation example behaves differently with wasm #872

luleyleo opened this issue Apr 24, 2020 · 1 comment · Fixed by #941
Labels
bug does not behave the way it is supposed to shell/web concerns the web backend

Comments

@luleyleo
Copy link
Collaborator

When testing the wasm examples after #817 I noticed that it behaves differently to the native version.
While the left side seems to work perfectly fine, on the right only one rect is visible at a time.
This seems to indicate that the entire right half gets invalidated?
Maybe @jneem has an Idea.

@luleyleo luleyleo added bug does not behave the way it is supposed to shell/web concerns the web backend labels Apr 24, 2020
@jneem
Copy link
Collaborator

jneem commented Apr 24, 2020

There's some difference between how backends handle invalidation: in cairo/gtk, the CairoRenderContext that we get from the system is already clipped to the invalid rect. I think that in windows/mac/wasm, it isn't. That means that anything druid paints outside the invalidation rect will appear on some systems but not others. I'm not sure that this is a bug as such, because contents outside the invalidation rect shouldn't be changing anyway. (The DebugInvalidation widget is breaking the rules here, but I think that's unavoidable.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug does not behave the way it is supposed to shell/web concerns the web backend
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants