Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(Addressing #239)
For each source element multiple elements are currently observed using ResizeObserver:
The resize observer callback invokes
updateMeasurements()
As a result
updateMeasurements()
might be called multiple times for each source element when resize observations are broadcasted. Currently, only the task to update timelines and animations is throttled. However, if there are multiple view timelines for the same source, the source and subject elements can be measured multiple times per resize update.If
updateMeasurements()
has already been called, there's no reason to update the measurements until after the next animation frame. This PR throttles measurements during the resize observation broadcast by setting a flag onceupdateMeasurements()
has been called for a source, and then clearing it at the start of the next animation frame.