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
Animations aren't started if there's no window events #22926
Comments
Really we should select between a window event and a compositor event, but window events aren't arriving from an mpsc channel, so we can't select on them. We could spin up a routing thread that wakes up the window when a compositor event arrives? |
When switching from |
I don't think so, which thread does this? |
The constellation is supposed to wake up the compositor thread. The constellation is supposed to be getting a I'm wondering what is not working here. |
I think what's happening is that the compositor thread is blocked waiting for a window event, not a compositor event. Wouldn't the constellation have to generate a window event if it wants to wake up the compositor thread? |
Yes. It's exactly what it's supposed to happen. Via
|
Oh, you're right. OK, I don't understand what's going on then :/ I'll do a bit more digging, it's possible this is a problem with my code. |
@asajeffrey is still happening? |
If a page with
requestAnimationFrame
is loaded, it doesn't start animating until a window event is generated. The reason why is that servo has two modes:AnimationState::Animating
(which blocks on vsync when swapping the GL buffers) andAnimationState::Idle
(which blocks on window events). The problem is that the transition from one to the other needs a window event to trigger it.The text was updated successfully, but these errors were encountered: