Only restart chunking (resetting the list to the initialCount) if the items array itself changed (and not splices to the array), to match Polymer 1 behavior.
Add reuseChunkedInstances option to allow reusing instances even when items changes; this is likely the more common optimal case when using immutable data, but making it optional for backward compatibility.
Only measure render time and throttle the chunk size if we rendered a full chunk of new items. Ensures that fast re-renders of existing items don't cause the chunk size to scale up dramatically, subsequently causing too many new items to be created in one chunk.
Increase the limit by the chunk size as part of any render if there are new items to render, rather than only as a result of rendering.
Continue chunking by comparing the filtered item count to the limit (not the unfiltered item count).
items
array itself changed (and not splices to the array), to match Polymer 1 behavior.reuseChunkedInstances
option to allow reusing instances even whenitems
changes; this is likely the more common optimal case when using immutable data, but making it optional for backward compatibility.Reference Issue
Fixes #5631