-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
scroll lag after opening and closing calendar (or any other overlay like autocomplete) #12341
Comments
could not replicate it, any ideas? I mean if it was for the sheer amount of components it contains, it wouldn't just start behaving like this after opening component with an overlay, right.. |
Maybe this is happening as a result of a combination of components? It might be easier to see what's going on by doing a recording in the "Performance" tab. |
One more thing to try: once you've opened it a few times and it starts lagging, can you try finding the |
Can't, it would hide the popover as well. |
It's a bit more work, but you should be able to hide the |
Ok, that did fix the lag. |
Cool, thanks for checking. In that case we should move the detached overlays out of the DOM completely. |
I still can't quite understand why is it happening, that |
It's because, even though they're transparent and unclickable, the elements are still being rendered over the page. Since they're |
Removes the detached overlays from the DOM, rather than keeping their host element. Previously we kept the elements in the DOM, because they don't interfere with user interactions and it made it easier to handle animations, however doing so can cause scroll jank, because the host still has dimensions and is being rendered by the browser. Fixes angular#12341.
Removes the detached overlays from the DOM, rather than keeping their host element. Previously we kept the elements in the DOM, because they don't interfere with user interactions and it made it easier to handle animations, however doing so can cause scroll jank, because the host still has dimensions and is being rendered by the browser. Fixes angular#12341.
Removes the detached overlays from the DOM, rather than keeping their host element. Previously we kept the elements in the DOM, because they don't interfere with user interactions and it made it easier to handle animations, however doing so can cause scroll jank, because the host still has dimensions and is being rendered by the browser. Fixes #12341.
Removes the detached overlays from the DOM, rather than keeping their host element. Previously we kept the elements in the DOM, because they don't interfere with user interactions and it made it easier to handle animations, however doing so can cause scroll jank, because the host still has dimensions and is being rendered by the browser. Fixes #12341.
Removes the detached overlays from the DOM, rather than keeping their host element. Previously we kept the elements in the DOM, because they don't interfere with user interactions and it made it easier to handle animations, however doing so can cause scroll jank, because the host still has dimensions and is being rendered by the browser. Fixes #12341.
Was this really fixed? Experiencing the problem still using 6.4.7.. |
And it looks like |
The |
But it does. Or something does. Nothing really changed since it was "fixed". See https://youtu.be/rvzkiTx4_Fk it's smooth the first time I open the popover, after I close it and open it again, it lags a lot.. |
For what it's worth, that fix actually went into 7.0.0-beta.0, but judging by your video you're running Angular 6.1.8. |
I'm not sure why it ended up in both versions, but an easy way to verify it is to open and close the overlay a couple of times, click around the page somewhere to trigger a round of change detection and see if the |
Also |
Then it's most likely something different, but it's hard to say by looking at a video. |
What can I do (to help you debug it)? |
Taking a performance recording while scrolling on a list that is laggy could help identify where it's coming from. |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
See https://youtu.be/1VE5vHXnL84
It feels as if something is not properly cleaned up.
The popover component I'm using is https://github.com/ncstate-sat/popover and is internally using overlay as well.
Also worth noting is that it happens with or without dev tools open and nothing seems out of the ordinary in the performance and rendering tab.
I'll try to make a repro later today.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
6.4.0 material, 6.0.9 angular
The text was updated successfully, but these errors were encountered: