Scroll lag / stutter when page zoom is exactly 100%
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- frontend, performance
Hướng nghiên cứu
Bắt đầu với bản tái hiện Storybook được liên kết trong repository FE-WMS và so sánh việc cuộn ở mức 100% với mức zoom trình duyệt 90% và 110% bằng @tanstack/virtual 3.13.5. Điều tra hành vi đo lường và bố cục được báo cáo xung quanh danh sách ảo hóa, sau đó xác minh rằng việc cuộn mượt mà và nhất quán ở cả ba mức zoom.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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: 3.13.5
📎 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.
- Ngôn ngữ chính
- TypeScript
- Star
- 7.1k
- Fork
- 472
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 11
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của TanStack/virtual
-
measureElement caches 0 size for nodes that aren't attached yet (Vue: rows stack at start 0 and the list scrolls away on mount)Có thể đã có người làm @webn00b đã nhận 11 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
anchorTo: 'end' loses the end when the scroll element shrinksCó thể đã có người làm @langleyd đã nhận hôm nay. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`scrollToIndex(last, { align: 'end' })` stays short of the end after a measured row grows (virtual-core ≥ 3.17.0)Có thể đã có người làm @minwookshin đã nhận 9 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
TanStack/virtual#1290 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
virtual-core: desktop Safari drops the prepend anchor write when history lands during the top rubber-band bounceCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của TanStack/virtual
Issue tương tự
-
bug DUP Reservations
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
bcgov/reserve-rec-public#952 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
daufderheide/racecoordinator_ai#948 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug pulumi/pulumi
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
api bug claude
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
diegosouzapw/OmniRoute#15764 ·
Maintainer thường phản hồi trong vòng 2 ngày