Skip to content
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

Add LCD subpixel rendering #185

Open
adamjs opened this issue Oct 14, 2019 · 3 comments
Open

Add LCD subpixel rendering #185

adamjs opened this issue Oct 14, 2019 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@adamjs
Copy link
Member

adamjs commented Oct 14, 2019

LCD subpixel rendering (eg, ClearType et al) can be used to improve the perceived contrast of glyph shapes on lower-DPI screens, unfortunately it suffers from a host of drawbacks:

  1. Expensive and slow since we need to render back-to-front and sample the background when compositing.
  2. Doesn't work well when animating text in a composite layer (texels are not in a 1:1 mapping with monitor LCD sub-pixels).
  3. Doesn't work well when user is using a non-native monitor resolutions (common in games).
  4. Not needed with high-DPI monitors (Apple has dropped support for LCD subpixel rendering macOS Mojave and beyond).

Regardless it is a good feature to have, and we can allow users to selectively enable it behind a Config setting.

@adamjs adamjs added the enhancement New feature or request label Oct 14, 2019
@adamjs adamjs self-assigned this Oct 14, 2019
@adamjs adamjs closed this as completed in 2a237bd Nov 15, 2019
@adamjs adamjs reopened this Nov 15, 2019
@sirgru
Copy link

sirgru commented Dec 9, 2019

Related: #194

@wolfield
Copy link

wolfield commented Jul 31, 2021

Since the majority of the desktop displays are still under 120 dpi lack of the subpixel rendering is a complete showstopper for desktop applications of Ultralight.

Washed away fonts and user experience with usability do not mix. You just can't make feature dense interfaces since you are forced to make fonts larger to make them decently readable.

So for now I move on to Electron with pixel perfect fonts. Ultralight is so much nicer for interop with C++, but I'd rather provide proper experience to the user and write a ton of boilerplate around native modules, unfortunately, than use Ultralight.

@SupinePandora43
Copy link

I've heard this can be implemented using Dual Source Blending, is that true?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants