-
-
Notifications
You must be signed in to change notification settings - Fork 408
Description
Describe the bug
🐛 Bug: Scroll lag / stutter when page zoom is exactly 100%
Description
When using @tanstack/virtual, scrolling becomes noticeably laggy/stuttery if the browser page zoom is set to 100% (default).
Interestingly, the issue disappears and scrolling becomes smooth again when changing the page zoom to 90% or 110%.
This behavior is consistently reproducible and seems to be tied specifically to the 100% zoom level.
🔁 Steps to Reproduce
- Open an app/page that uses
@tanstack/virtual - Set browser zoom to 100%
- Scroll the virtualized list
→ Observe scroll lag / stuttering - Change browser zoom to 90% or 110%
- Scroll again
→ Scrolling becomes smooth
✅ Expected Behavior
Scrolling should be smooth and consistent regardless of browser zoom level (including the default 100%).
❌ Actual Behavior
Scrolling is laggy only when zoom is exactly 100%.
Non-100% zoom levels do not show the issue.
🧠 Additional Notes / Observations
-
This may be related to:
- sub-pixel rounding
- layout measurements using fractional values
getBoundingClientRect,offsetHeight, orResizeObserverbehavior at 100% zoom
-
The issue occurs even on high-performance machines
-
The problem feels like repeated re-layout or recalculation during scroll
🧪 Environment
- Library:
@tanstack/virtual - Browser: (Chrome / Edge / Firefox / Brave)
- OS: (Windows)
- tanstack/virtual version: (please fill in)
📎 Reproduction
Please clone the repository and run Storybook to reproduce the issue.
http://localhost:6006/?path=/story/components-datagrid--default
Repository:
https://github.com/quanghiep03198/FE-WMS
The issue can be observed directly in Storybook and is isolated to the usage of @tanstack/virtual.
Your minimal, reproducible example
http://localhost:6006/?path=/story/components-datagrid--default
Steps to reproduce
Scrolling should be smooth and consistent regardless of browser zoom level (including the default 100%).
Expected behavior
When using @tanstack/virtual, scrolling becomes noticeably laggy/stuttery if the browser page zoom is set to 100% (default).
Interestingly, the issue disappears and scrolling becomes smooth again when changing the page zoom to 90% or 110%.
This behavior is consistently reproducible and seems to be tied specifically to the 100% zoom level.
How often does this bug happen?
Every time
Screenshots or Videos
https://www.loom.com/share/8fedb0086ade42d5855986d2951c856d
Platform
- OS: Windows
- Browsers: Chrome/Edge/Brave
tanstack-virtual version
3.13.5
TypeScript version
5.7.3
Additional context
When using default page zoom (100%)
Terms & Code of Conduct
- I agree to follow this project's Code of Conduct
- I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.