[EuiToolTip] Improve render performance#3596
Conversation
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_3596/ |
|
Pulled this back to draft because, although there are definite improvements, CPU usage in the Kibana issue use case still remains high. |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_3596/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_3596/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_3596/ |
snide
left a comment
There was a problem hiding this comment.
Tested in browser and double checked accessibility still works. I think it's worthwhile to clean up that sass function. Noticed some other small bits, otherwise LGTM on changes.
chandlerprall
left a comment
There was a problem hiding this comment.
LGTM! Tested locally, didn't see anything broken
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_3596/ |
snide
left a comment
There was a problem hiding this comment.
Thanks for the changes! LGTM
Summary
Resolves #3568 by 1) moving the animation delay from CSS to JS and using it to delay subcomponent mounting and 2) using the
enqueueStateChangeutility to batch EuiToolTip visibility state updates that result in DOM node add/remove updates.Secondary improvement was to remove the EuiToolTipPopover initialization call to
updateDimensions, as the nested EuiResizeObserver component also calls the method on mount.Checklist
- [ ] Check against all themes for compatibility in both light and dark modes- [ ] Checked in mobile- [ ] Checked in IE11 and Firefox- [ ] Props have proper autodocs- [ ] Added documentation