Subpixel antialiasing not enabled in Windows 10


#1

As you can see, subpixel antialiasing is working fine on the menu bar, but it is not working anywhere within the atom editor. I tried renaming .atom, running with --safe and a fresh install. Nothing works.

This device is a Surface Pro 3 so it has high DPI enabled, that might be a reason. Cleartype is enabled (as you could see in the menu bar).

It’s really not a big problem, but for some reason it’s been driving me crazy! Any help would be greatly appreciated.


#2

Have you followed the suggestions in the Debugging document? Also, could you give the following information?

  • Which version of Atom are you using?
  • Can you reproduce the issue after completely exiting Atom and restarting using atom --safe?

#3

Yup, I even tried a fresh install with renamed ~/.atom and the same problem persists. I’m using Atom 1.0.2. I’m still at work but when I get home I can try testing on my home computer to figure out if it’s a Windows 10 issue, or a high DPI issue. (Or something weird specific to this computer)


#4

From what I’m reading, subpixel antialiasing is turned off in a few situations:

  1. Hi-DPI modes (always on Apple products, sometimes on others)
  2. When text is rotated
  3. When text is animated
  4. When text is composited against a non-opaque background

The first and second could be reasons why you’re not seeing sub-pixel antialiasing on the Surface. It could be that Chromium just disables it for those reasons. (But since the menu is rendered by the OS, it can make a different decision on whether to sub-pixel antialias it or not.)


#5

Thanks for your response! I didn’t know subpixel antialiasing is always turned off on high-DPI products, now I know. I am wondering if there is any way to turn it on though, as while the Surface is considered high DPI, it’s not quite retina. (Kind of an edge case)

Or is it an underlying Chrome mechanic?


#6

Well, from what I’m reading, OS X and iOS both disable subpixel rendering on Retina-class screens. So it was my thinking that perhaps Chromium does too (since it seems to have its own font-rendering system). But also, it may choose to disable it on rotatable screens like the Surface. This is all supposition on my part.

As far as forcing it on goes, there may be … but I don’t know what it is. Atom already includes the CSS instruction to turn on subpixel antialiasing in its base stylesheets last I checked.