-
Notifications
You must be signed in to change notification settings - Fork 28.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Text become fuzzy and unusable after scroll #24483
Comments
@alexandrudima lets sync on this when we are both in the office, looks like a Chrome regression. |
@ArianeLu I am on a Surface Book with 200% scale and regardless of the scroll top position the editor font is rendered with subpixel antialising: Sometimes, when changing the scale, I need to sign out and sign back in to Windows for all the apps to react to the change. Does signing out help in any way? |
@alexandrudima My user settings:
#22336 (comment) |
I also did a quick test on my macBook pro both with my external monitor and the notebook screen and I am seeing subpixel antialising with any DPI scaling (100%, 125%, 150%). Would also like to understand what kind of setting could cause this. Btw please only look at the editor and not anywhere else! We did loose subpixel antialising outside the editor but that is Electron unrelated (I can see this with 1.11 stable already). |
@ArianeLu when you say in your screenshot "this is fuzzy", it seems to me from that screenshot that subpixel antialising is still being used, can you clarify that is different from the screenshots and what produces the fuzzyness? |
@bpasero Look the char "L" on two screenshot, as you say, it looks like subpixel antialising, but it was difficult to read on my external monitor (DELL P2416D). The fuzzy looks like have a shadow around the char, I don't think subpixel antialising will cause text fuzzy like this one. Something maybe wrong... I can't reproduce this issue on VSCode 1.10.2. Related Code:Element with class
I can't find this attribute on |
@bpasero Can you understand my description? Or any idea with my guess about the |
@ArianeLu I think the root problem here is that Chromium decides to go to grayscale antialising on your machine/environment. Grayscale antialising is problematic exactly because, as you point out, it cannot correlate the font rendering with real screen pixels. Perhaps because it cannot correlate the layer's position with real screen pixels is why it goes to grayscale antialising in the first place. If you believe it is due to our usage of translate3d, then there is an easy way to test that: use the setting |
@alexandrudima After add this options, text looks good. |
@alexandrudima here is an update from what I see after doing more testing with the Translate3d: ON, Scrolling: NO, Subpixel-AA: WORKS Translate3d: ON, Scrolling: YES, Subpixel-AA: does NOT work I lost subpixel-aa when scrolling. Things look a lot better with Translate3d: OFF, Scrolling: NO, Subpixel-AA: WORKS Translate3d: OFF, Scrolling: YES, Subpixel-AA: WORKS I should add that I am only getting subpixel-aa in the editor with Remains to understand why Chrome turns the editor into grayscale-aa once scrolling starts. Since its fixed after disabling |
@bpasero I don't think this is happening on all environments. e.g. it is not happening for me. What is the setup that triggers it? 125% scaling in the OS (mine is configured with 200% scaling)? |
@alexandrudima I am running with 125% but I also see this with 100% as well as 200%. |
@bpasero Do you sign out of Windows and sign back in between changes to the scaling setting? There are numerous apps (I wouldn't be surprised if Chromium is one of them) that cannot react to changes to scaling unless you sign out of Windows. (I'm trying to find out what is the root cause of this) |
@alexandrudima wow, you are right, subpixel-aa works in 200% after doing a windows restart. So maybe this is only an issue when the multiplier is an odd percentage? |
According this tweet https://twitter.com/paulcbetts/status/852050882523000832 this only affects non-integral DPIs |
Really said, for my device, 100% is too small and 150% is too large. |
@ArianeLu We will look into a solution. My favorite resolution would be to disable our usage of translate3d only in the cases where this issue is hit (i.e. not for folks running at 100% or 200%) due to the scrolling performance implications. |
I could reproduce. Here are the values I get (with window.zoomLevel: 0) for:
I'm looking into disabling the usage of translate3d in the editor when the pixel ratio is not an integer. |
@alexandrudima awesome, thanks! |
@bpasero @alexandrudima Text become darken and tiny after open built-in terminal, I can't find out why |
Steps to Reproduce:
Screenshot
Screenshot with zoom
Possible reason
I think it's an upstream issue with Chromium, if Code use CSS transform to scroll/move element will cause this issue.
I hope develop team can take a look with this, this make Code unusable at all
See also
The text was updated successfully, but these errors were encountered: