FYI, it looks like codemirror scrolling performance is awful in the recent version of Chrome 94.0.4606.61, even in the example input at https://codemirror.net/ - my data point (and those of my customers) is Windows 10, don’t know about Mac.
Nothing noticeable on Linux. Could you be a bit more specific about what you mean by scroll performance? How are you scrolling, and how big is the document?
Using a mouse wheel to scroll (keyboard page up/down nav is fine), and the doc isn’t large at all - anything that exceeds the input height. Before taking the Chrome update, a normal finger scroll on the wheel might scroll 50 lines in the Codemirror input, after the update the same gesture scrolls maybe 3 lines.
Also seen using Microsoft Edge (Chromium) v 94.0.992.31 - scrolling is worse there, with the same gesture scrolling fewer than 2 lines.
No issue w/ Firefox.
I currently see the issue on the codemirror site, in the Github online editor, and in ServiceNow’s script fields (all use Codemirror).
I suspect there’s nothing you can do except maybe file a Chromium bug. I can get a bunch of folks to star an issue, but I personally wouldn’t know the best way to most helpfully describe the issue for the Chromium dev team.
Finally had a chance to debug this. It seems Chrome 94 on Windows does some odd non-linear scrolling, where it slows down near the end and start of the document. That confused CodeMirror’s hacks to estimate how scroll units correspond to pixels. Fortunately, Chrome now supports a much better way to get the pixel offset of (most) wheel events, so this patch makes CodeMirror use that when available, which seems to resolve this issue.
I’ve published a patch release 5.63.1 which includes the fix.
I’m using Chrome(v94.0.4606.61) on macOS(11.6) and had the same problem, and CodeMirror 5.63.1 continues to have the problem.
Oddly enough, the problem is only reproduced when I wheel with a USB-connected mouse, not with a Bluetooth-connected mouse nor with a MacBook trackpad.
Also, the problem does not occur in chrome v96 (canary).
I was able to confirm the problem with the following combinations.
- macOS (11.6)
- USB Mouse (https://www.amazon.com/dp/B005EJH6RW)
If there is anything I can do to help, I will be happy to do so.
Translated with DeepL Translate: The world's most accurate translator (free version)
I found related issue on Chromium project page.
After updating to Chrome 94.0.4606.71, the problem seems to be resolved.
Glad to hear they released a fix!
I just upgraded to .71 and can confirm. That’s great Thanks again.