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

Improved subpixel text rendering for OLED (WRGB stripe, RGB triangular) -- Unfixable by ClearType Tuner (Over 100 upvotes in Feedback Hub) #25595

Open
mdrejhon opened this issue Apr 18, 2023 · 175 comments
Labels
Idea-New PowerToy Suggestion for a PowerToy

Comments

@mdrejhon
Copy link

mdrejhon commented Apr 18, 2023

Description of the new feature / enhancement

NOTE: I do paid work with display manufacturers.

Repost of incorrectly-closed github item that someone else posted:

ClearType alters anti-aliasing assuming an RGB stripe subpixel configuration. More WOLED (WRGB stripe) and QD-OLED (RGB triangular) monitors are coming to market and have noticeable chromatic aberration/color fringing on edges of text. It would be nice if Windows had a built-in option to alter text rendering based on subpixel configuration of the monitor.

Scenario when this would be used?

When using a WOLED or QD-OLED monitor with WRGB stripe or RGB triangular subpixel configuration to improve text clarity.

Supporting information

https://www.youtube.com/watch?v=52eiLP3Zy-s

https://youtu.be/k-6yc1dA--0?t=602

https://youtu.be/PR-1tMih0fM?t=442

It is definitely a real problem caused by unresolvable ClearType limitations. The earlier github item (#25568) was incorrectly closed by someone who thought it was a feature already built into windows; so creating new GitHub issue.

@mdrejhon mdrejhon added the Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams label Apr 18, 2023
@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

As founder of Blur Busters / TestUFO, I work with computer monitor manufacturers; so I will explain

GOOD: What ClearType Is Compatible With:

ClearType is only compatible with vertical-stripe RGB and BGR pixel structure.

RGB: image

...and...

BGR: image

BAD: What ClearType definitely NOT Compatible With:

No, ClearType tuner doesn't fix this properly. It is unable to 100% unable to fix this.

LG WOLED, all televisions and monitors

image

It is not possible to control the white sub pixel in software, but ClearType can still at least go into a special "RBG" mode where the blue subpixel is in the middle, and the green subpixel is at the right edge. I did some PhotoShop tests and it actually makes text better on an LG WOLED. It looks much better, here are some example PhotoShop images that works fine on an OLED at 1:1 pixel mapping:

One possible solution: Use an RBG ClearType mode where B is middle subpixel

I photoshopped this special sample that looks absolutely fantastic on LG WOLEDs.

image
(...Note: I know contrast is a bit extreme so there's a bit of excess sharpening-effect; it should be adjustable...)

So, dear Microsoft, here's definitive proof that ClearType modifications are required to look better than anything that ClearType Tuner can do. Winky-wink. 😉 😉 😉

Samsung QD-OLED, all televisions and monitors

They use a triangular structure as follows:

image

Actual macro photograph of a Samsung QD-OLED:

image

Which produces a text fringing problem at top/bottom of texts:

image

ClearType Tuner is 100% completely unable to remove this fringing. Even alternative utilities such as Better ClearType Tuner can't fix this artifact.

  • Greyscale mode still has green/purple fringing (at all adjustment settings)
  • RGB mode still has green/purple fringing (at all adjustment settings)
  • BGR mode still has green/purple fringing (at all adjustment settings)

This is because the green sub pixel is at the top edge, and red/blue subpixel is at bottom edge. ClearType is unaware of this subpixel layout.

Monitor reviewers such as RTINGS complain about this.

https://www.rtings.com/tv/reviews/samsung/s95b-oled#test_178:~:text=LEARN%20ABOUT%20REFLECTIONS-,Pixels,-Subpixel%20Layout

The Samsung S95B uses a unique subpixel structure. Instead of having all three subpixels in a row, each pixel forms a triangle, with the larger green subpixel at the top. This isn't really noticeable with most video content, but it's an issue if you're using the TV as a PC monitor. Text has just okay clarity from a PC, as WINDOWS CLEARTYPE SETTINGS AREN'T DESIGNED FOR THIS subpixel structure, and CAN'T CORRECT FOR IT. You can see a few examples below:

@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

Possible Method of Implementations

Short term implementation

A future "Enhanced ClearType Tuner" utility would accept a bitmask PNG file (square shaped) that shows where the red, green, blue subpixels are within one single pixel (ignoring any white subpixels, if any)

An enhanced ClearType would automatically use this than the old-assumption of RGB stripe. This proposed bitmask file (to define structure of one pixel) can be small, e.g. 32x32 or 64x64, and only be Red, Green and Blue pixels with the rest of pixels black or transparent.

Long term implementation: Plug-and-Play!

Since monitor manufacturers are continually coming out with custom subpixel structures, monitor drivers (.INF) can provide an optional pixel structure (possibly as a bitmask, or a base64 data: PNG bitmask, 32x32 or 64x64), or even multiple string rows such as "0111022203330" per pixel row (where 1=red, 2=green, 3=blue) for human readability.

The ClearType renderer would automatically use this known subpixel structure to provide accurate subpixel rendering. Monitor manufacturers can provide custom monitor-specific INF files that automatically inform Windows of the special subpixel structure.

Precedent

Many smartphones already supports custom subpixel renderers (e.g. Pentile), though proprietary to the specific-display Android manufacturer (e.g. not visible in AOSP source code that is coded to a generic display).

Known Issue

Sometime not too long ago, Microsoft made a mistake of simplifying ClearType rendering to only use one format for all multimonitors. This created problems for people using mixed RGB and BGR setups, which wasn't a problem during Windows XP days but is now a problem today with Windows 11.

Instead of per-monitor ClearType tunings, Microsoft made the ClearType tuning global -- facepalm for many use cases. The LCD RGB-stripe hegemony is diminished because of the giant boom of mixed-monitor use cases, and new OLED computer monitors.

So the originally well-intentioned simplification shot itself in its feet;

Display rotation of tablet PCs also affects ClearType; Microsoft had to make adjustments to ClearType to keep it looking correct at all screen rotations. It is possible the affects-all-monitors simplification occured around this time (approximately Windows 8, not sure), when the ClearType engine was possibly refactored by Microsoft.

Thus, Microsoft needs to undo this feature regression (now becoming increasingly visible in a multimonitor era), which was only because of the hegemony of RGB-stripe LCDs.

One massively common use case is some people connect an RGB laptop to a BGR television set (more than half of TVs made today are BGR!). This accidental Microsoft regression made many years ago, needs to be undone.

TL;DR Summary of feature regression

BEFORE: In some past versions of Windows, you could configure multimonitor -- e.g. RGB on laptop/monitor and BGR on TV.
AFTER: Right now you can't. It's either RGB or BGR globally for all displays in your multimonitor.

This Could Be Marketed As "ClearType 2"

  • Supports custom subpixel structures (new)
  • Supports per-monitor subpixel structures (reintroduced)

@Jason-GitH
Copy link

Thanks for bringing more attention to this issue. I originally linked the wrong LTT YouTube review. Here is the correct link where he discusses insufficiencies of ClearType with OLED:

https://youtu.be/PR-1tMih0fM?t=442

@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

Thanks for bringing more attention to this issue.

You're welcome!

As I currently am on paid contract work with LG Korea regarding their brand new 240Hz WOLED panels that are supplied to multiple manufacturers (ASUS, Corsair, etc), I can assure you that several end-users are now complaining about this.

Please feel free to share the permalink to other experienced/advanced/programmer computer users who just purchased the new 2023-model OLED computer monitors, to bring more attention to this item.

Permalink: https://github.com/microsoft/PowerToys/issues/25595

@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

To Microsoft Employees:

Perhaps forward the permalink to the ClearType renderer contacts for further thought?

@Jay-o-Way
Copy link
Collaborator

@crutkas this guy should be working for Microsoft

@Jay-o-Way
Copy link
Collaborator

I do think this is an issue between hardware and OS developers, though. Have you contacted Microsoft in a more direct manner?

@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

Yes, thought about forwarding @Jason-GitH suggestion too.

But this is a known difficult communicate (even via business channels, easily-dismissable, the original github was closed) with an unclear incubate venue. I think you understand that I am desparate enough to have to go through this channel, now, too.

ClearType was developed in 1998 as an application-based feature (Microsoft Reader) and then ported into the OS. It's been a very stagnant feature that doesn't even have an assigned maintainer at Microsoft anymore, I think. However, it went into a Microsoft Research paper (I think) and perhaps the original researchers are still at Microsoft 25 years later.

ClearType can be done without the initial involvement of hardware developers, as it can be done application based and as demonstration PhotoShop images. So, it may be easier to incubate application-side first. After all, the 1998 version of ClearType was just a book/text/doc reader application...

The use of OLEDs in computer monitor has woken up this otherwise old mature feature.

Later this year, I may publish an article/whitepaper (better rewrite-copy of this image-illustrated GitHub item) at Blur Busters later and post a link on the Feedback Hub. Links are also unclickable in it too. If only Feedback Hub was also github that I can post illustrated embeds in (not file attachments), y'know?

Still, it seems technically possible to incubate this first as a third party application (aka PowerToy) -- there are third party font renderer utilities, such as MacType for Windows - www.mactype.net

Plus, the ClearType Tuner app was also originally a PowerToy too.

So, still relevant here. 😄

@mdrejhon
Copy link
Author

mdrejhon commented Apr 18, 2023

Starter Generic Subpixel-Aware Supersampling Algorithm

For every time one font glyph is rendered onscreen:

  1. Check if the glyph is already in the subpixel-scaled glyph cache (for a specific glyph at a size with all combining marks etc)
    If yes, skip to step 5.
  2. Render a single character (font glyph) in-memory at high scaling factor (e.g. 16x size).
    Example: If it's a 16point character of Arial, draw it at 256point size within GPU memory
  3. Downscale the supersized font letter through the subpixel-structure bitmask
    Example: Use a GPU shader to push the large font letter through the subpixel-structure bitmask during downsample
  4. Cache the resulting downsampled bitmap (for faster run at step 1)
  5. Draw the glyph onto the screen
    The bitmaps should be transparent with an alpha channel, to be compatible with overwritten text / overlay on complex background / linked letters like Arabic / etc).

Basically, pushing a supersized version of the glyph through the subpixel mask during downsample. This is very simple ultra-fast GPU shader code.

Or you could use layering of existing DirectWrite/Direct2D APIs instead (e.g. bitmap scaling and bitmap-combining mathematics similar to ADD, SUBTRACT, AND, OR, XOR, alpha-blend operations etc) instead of GPU shader code. (And many of these APIs compile as shaders anyway when GPU acceleration is enabled). Various settings can be done to adjust.

ClearType Contrast can be simply an alphablend/math between a non-subpixel-compensated glyph and a subpixel-compensated glyph. And configurable supersample size (6x, 8x, 10x, 12x, 14x, 16x, [...]) for quality experiments.

One consideration; there will be loss of OpenType/TrueType "hinting" for small-size fonts (due the large-glyph rendering step) but the resulting correct subpixel render (up to ~3x more resolution possible) without hinting, will look superior to hinted-but-incorrect/blurrier. In other words, the nonstandard-subpixel-structure sharpness improvement outweighs the loss of "hinting" support for the vast majority of fonts -- even for complex fonts such as Mandarin, etc, that goes very soft/blurry on WOLEDs.

Either way, while it sounds difficult at first -- the generic algorithm is actually absurdly simple to a shader programmer or bitmap-mathematics programmer, once they're trained to understand ClearType better (e.g. treat the subpixels like additional pixels spatially)

There can be optimizations later to speed things up, and hinting support re-added later. But the algorithm is very simple.

Technically, first step could be done as an open source Reader application, even a rudimentary TXT viewer (font and size configurable in menus). Not too different from a simplified version of 1998's Microsoft Reader.

So the first step is a simple font renderer library for applications, using this algorithm, maybe? Though I have no time to start the project, I can code-review it, and I can tweak the code's algorithm to the correctness needed, or add other features (like adjustable alphablend between subpixel-scaled vs nonsubpixel-scaled, as a Contrast setting).

Possible Path of Introduction?

There might be many other workflows to incubate this at the open source level. But I'd propose to break it down to simple steps. Slowly introducing "ClearType 2":

  1. Awareness-raising as font-renderer library for applications (incubate as separate github project) like 1998's Microsoft Reader
  2. Then as OS-wide PowerToy (this github item) uses that library;
  3. Then native OS feature (become part of ClearType)

This may not be the best path, but gives the gist of steps-breakdown for a simpler path of introduction of "ClearType 2".

EDIT APRIL 2022

There's precedent and existing open source code of a font subpixel renderer: FreeType documentation is rather interesting about a possible subpixel-structure-flexible algorithm:
https://freetype.org/freetype2/docs/reference/ft2-lcd_rendering.html

@mdrejhon
Copy link
Author

mdrejhon commented Apr 20, 2023

Related discussion, since the proposed ClearType 2 PowerToy would need to fix this;

More Information About ClearType Tuning Problem with Multimonitor

Some people argue it isn't a feature regression, but a do-nothing bug, or some intentional change -- but I wanted to add some context of the ClearType multimonitor issue (global vs per-monitor):

Research (by the author of Better ClearType Tuner) about this multimonitor pboelm:
https://github.com/bp2008/BetterClearTypeTuner/wiki/ClearType-Investigations

Also, tons of reddit complaints, especially when multimonitoring with televisions (which uses BGR)
https://www.google.com/search?q=ClearType+Tuner+multimonitor

It's one of those hard-communicate bugs that will probably easily get overlooked in Feedback Hub;


I reference bp2008/BetterClearTypeTuner#11 -- the person @bp2008 who wrote "Better ClearType Tuner" -- because he had to close the multimonitor-ability because of the Microsoft bug/regression involving multimonitor ClearType.

I'm pulling him in to see if he's got any interest commenting about the bug/regression here.

Let me see if there's a Feedback Hub for this Microsoft ClearType bug/regression, if not, I will create one within the month. It's obscure-but-frustrating. But I will publicly mirror here for relevancy (until Feedback Hub is replaced with a public-facing GitHub Issues system)

@mdrejhon
Copy link
Author

mdrejhon commented Apr 20, 2023

Over 100 Upvotes in Feedback Hub for "ClearType 2"

Okay, I have audited Feedback Hub, and whoo-boy, this is a popular complaint by OLED owners.

This issue is so obscure (that the duplicate-item judges do not even understand these are duplicates). I will flag by copy and pasting some of this comment in Feedback Hub.

Search Terms: "cleartype OLED", "cleartype WOLED", "cleartype QDOLED"

Duplicate Feedback Hub List

Related ClearType Bug Reports For Gaming/Multimonitor

  • https://aka.ms/AAkjw7z -- "ClearType setting for different subpixel layouts for different screens (for second monitor rotated to portrait/vertical position)" (6 upvote)
  • https://aka.ms/AAkcebe -- "ClearType text tuner incorrectly warns about non-native resolution"
  • https://aka.ms/AAb5v10 -- "Blurry text on my portait orientation monitor after updating to build 21313" (8 upvotes)

Let's consider many users don't understand how to bug report this

Especially considering many experienced programmers don't even understand the algorithm behind ClearType (including, possibly, also the person that closed the original PowerToy item).

End users just see text being much blurrier than OLED, compared to Apple's subpixel optimizations for their OLED iPhone and iPad, and wonder why Microsoft Windows is very bad;

Adebisi T (Microsoft Engineer) seems currently confused by this report in one of the items, maybe forward this GitHub permalink (Can anyone tag his github username?)

Since github allows me to quickly type at 140wpm with easy photo-pasting (screenshots, etc), I shall continue to use this GitHub as the control-room item to communicate ClearType problems to Microsoft. As a line-item exception, Feedback Hub which is nigh impossible to correctly communicate the fairly complicated ClearType multimonitor bug/regression, combined with feature request for QD-OLED compatible ClearType.

@mdrejhon mdrejhon changed the title Improved subpixel text rendering for OLED (WRGB stripe, RGB triangular) -- Unfixable by ClearType Tuner Improved subpixel text rendering for OLED (WRGB stripe, RGB triangular) -- Unfixable by ClearType Tuner (Over 100 upvotes in Feedback Hub) Apr 20, 2023
@mdrejhon
Copy link
Author

mdrejhon commented Apr 20, 2023

It looks like MacType might be able to work on this: snowie2000/mactype#720

We'll push that front, too.

@Jason-GitH
Copy link

Jason-GitH commented Apr 20, 2023

It looks like MacType might be able to work on this: snowie2000/mactype#720

We'll push that front, too.

That's good to know. Their findings will be useful. I wish MacType had broader applicability but its effects don't get applied throughout several areas of Windows UI, UWP apps, and Chromium.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 21, 2023

That's good to know. Their findings will be useful. I wosh MacType had broader applicability but its effects don't get applied throughout several areas of Windows UI, UWP apps, and Chromium.

Agreed.

That being said, it is a bonafide third party font renderer that already has built-in optional RGB subpixel support.

So it is a potentially useful incubation venue before something similar comes Microsoft-side. While MacType is usually used without subpixel rendering, it does have subpixel rendering available (for RGB LCDs at least).

So, MacType is proof that a third party subpixel-capable font render already exist, and therefore "ClearType 2" could be incubated via the PowerToy venue;

Be noted, MacType is GPL, and generally Microsoft prefers to use MIT/Apache code for open source ClearType applications. However, I have publicly posted the generic subpixel rendering knowledge, which can be written independently by them and by Microsoft.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 21, 2023

Donation OLED Offer to Software Developer With Font Cred

Also, since I am the owner of Blur Busters -- I might be able to donate a spare OLED monitor (1440p 240Hz!) later this year to an experienced subpixel-font programmer (e.g. MacType programmer or ClearType programmer) if they want to take upon the ClearType 2 task. I will (by summer) have way too many 240Hz OLEDs cluttering up my Canadian office, and this is a very noble initiative. The value of the monitor is over $1000.

Many Announcements For Desktop OLED in Year 2023 ALONE

Let's remember the Feedback Hub complaints was almost singlehandedly the Dell Alienware AW3423DWF that shipped last year in 2022. Get your horses ready; are you sitting down? Here's the 2023 tsunami flood:

It is highly probable that the number of computer users using OLED is projected to go up an order of magnitude very rapidly from nearly-nil in 2022, by the end of 2023, all singlehandedly due to the large number of OLED product hitting the market this year.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 21, 2023

It looks like MacType might be able to work on this: snowie2000/mactype#720
We'll push that front, too.

Based on comments at my new MacType feature request: snowie2000/mactype#932 --
I think the primary MacType author didn't seem understand (initially) nor seemed interested. However, the feature request is there, just in case in case other maintainers/volunteers takes the torch and prefers that incubation route.

So that gives an open source text-renderer programmer multiple choices of incubation venues.

  • As ClearType 2 PowerToy (this item) in honor to ClearType Tuner PowerToy ancestry; or
  • As third party font renderer (MacType-for-Windows via mactype#932); or
  • As third party renderer library for application-level use;

As ClearType was originally incubated as an application (Reader) and a PowerToy (Tuner) before it becomes an OS feature; there is a clear need to communicate clearly in all possible incubation venues, until someone comes along who concurrently understands the problem, knows hows to code the solution, and has time to do so.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 22, 2023

QD-OLED Tester Wanted

Possible MacType Incubation Under Way

OK, I think MacType might have just incubated it -- it apparently had vestigal support for subpixel vertical positions, so some creative configuration file editing made it compatible with triangular-structure OLEDs! Need some guinea pigs for these PNG images designed for triangular-pixel-structure QD-OLED.

For users of QD-OLED displays

image

Test image for triangular-subpixel QD-OLED displays

image

Which one has the least green/blue fringing artifact?

Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display.

The test image here, and information here, will also help Microsoft evaluate improvements to ClearType (possible concurrent incubation), perhaps as a possible "ClearType 2 Tuner PowerToy"

@Jason-GitH
Copy link

Jason-GitH commented Apr 22, 2023

I have played around with MacType quite a bit on WOLED. The built-in CRT profile as well as DeepGrayNoHinting / SoftGrayNoHinting did the best at eliminating fringing in Windows UI but don't improve sharpness noticeably.

@vaisest
Copy link

vaisest commented Apr 22, 2023

I have played around with MacType quite a bit on WOLED. The built-in CRT profile as well as DeepGrayNoHinting / SoftGrayNoHinting did the best at eliminating fringing in Windows UI but don't improve sharpness noticeably.

However these seem to do grayscale rendering, which would avoid dealing with this topic completely.

@Jason-GitH
Copy link

Jason-GitH commented Apr 22, 2023

I have played around with MacType quite a bit on WOLED. The built-in CRT profile as well as DeepGrayNoHinting / SoftGrayNoHinting did the best at eliminating fringing in Windows UI but don't improve sharpness noticeably.

However these seem to do grayscale rendering, which would avoid dealing with this topic completely.

Yep. Disabling ClearType, setting Better ClearType Tuner to grayscale aliasing, or using one of those aforementioned MacType profiles accomplish reducing color fringing in most areas on WOLED. There are still some areas of Windows UI that remain affected, though. And sharpness is not as good as I think it could be.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 22, 2023

I have played around with MacType quite a bit on WOLED. The built-in CRT profile as well as DeepGrayNoHinting / SoftGrayNoHinting did the best at eliminating fringing in Windows UI but don't improve sharpness noticeably.

However these seem to do grayscale rendering, which would avoid dealing with this topic completely.

Correct. Thumbs-upped you. However...

LG OLED demo image has extremely sharp text

With the LG OLED demonstration image having nearly twice as sharp text than any of the other options ...

(viewing the LG OLED images on anything else other than LG OLED, will not work -- it is as sharp as well-optimized LCD ClearType).

There are ClearType fans that would like the sharpest possible text.

Everybody sees differently.

  • Different degrees of eyevision acuity and eyeglasses prescriptions.
  • Different degrees of colorblindness (12% of population is colorblind).
  • Different people are bothered by different things more than others.
  • Some of us don't notice the color fringing as blatantly as the text-fuzziness
  • Others like the zero-subpixel MacType look better.
  • My policy is not to visionsplain anyone for them, and let people choose their preference.

It is a matter of personal preference

There should be an adjustable Contrast/Saturation setting, so that fringing can be easily adjusted, while keeping text sharp. This is easy to do with ClearType Tuner, but very hard to do with MacType.

@bizude
Copy link

bizude commented Apr 22, 2023

Thank you for bringing attention to this issue.

@mdrejhon
Copy link
Author

mdrejhon commented Apr 22, 2023

profiles accomplish reducing color fringing in most areas on WOLED. There are still some areas of Windows UI that remain affected, though. And sharpness is not as good as I think it could be.

WOLED is more immune to fringing than Samsung QD-OLED. It's easier to fix fringing on WOLED than QD-OLED, and color fringing on QD-OLED is completely unfixable without some subpixel rendering adjustments.

I just got some reports from [H]ardForum that people like the QD-OLED image:

  • "The 2's have far less or no fringing to my eyes. 2,2b, or 2d are the best. I can't notice much difference between them. Everything on the left has obvious fringing."
  • "On the [Alienware] DWF, 2 is the best with 2b as close second. Clear fringing on all the 1's.*

EDIT: Comments from #25595

  • "I'm on an AW3423DW. All of the 2's don't have much fringing to me or others I've had try. 2 looks the best to me, while 2b and 2c looked the best to two other people."

For the LG OLED image, I have gotten some rave reviews already, but I need to convert it to a proper MacType config file.

@danweast
Copy link

Which one has the least green/blue fringing artifact?
Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display.

I'm on an AW3423DW. All of the 2's don't have much fringing to me or others I've had try. 2 looks the best to me, while 2b and 2c looked the best to two other people.

@stanio
Copy link

stanio commented May 16, 2024

font_rendering.cleartype_params.cleartype_level = 0 with Firefox is working for me.

@stanio
Copy link

stanio commented May 16, 2024

The following Registry tweak appears to trigger grayscale anti-aliasing in most of the rest of Windows:

One needs to log off and log in for the changes to take effect. I'm still seeing ClearType anti-aliasing in native tooltips, though.

@rajkosto
Copy link

The following Registry tweak appears to trigger grayscale anti-aliasing in most of the rest of Windows:

One needs to log off and log in for the changes to take effect. I'm still seeing ClearType anti-aliasing in native tooltips, though.

this is exactly the same as opening Cleartype Tuner and picking the "grayscale antialiasing" option, which changes the font rendering mode and is NOT the same as just having all the subpixels be grayscale... it makes a lot of glyphs either too lanky or too thick, their width is inconsistent, so i would not recommend it
also some applications that render text on their own (like Firefox) will read this registry setting meaning you wanted grayscale antialiasing, and will just disable font smoothing on some fonts entirely
it's better to just tweak Firefox to use grayscale antialiasing manually : gfx.font_rendering.cleartype_params.cleartype_level in Firefox about:config, --disable-lcd-text cmdline option for Chrome

@Jason-GitH
Copy link

Jason-GitH commented May 16, 2024

To anyone that is still struggling with text clarity and hasn't seen @dxzdxz1's comment above on ExplorerMicaBlur version 1.07, check it out.

Dxzdxz1 found that that using the older version of the ExplorerBlurMica tool allows text to be rendered perfectly on OLED machines! I reformatted my computer last week and installed the ExplorerMicaBlur modification (v1.07) and have not had to change anything else on my CO49DQ for text clarity.

No fiddling with ClearType, no MacType. Just ExplorerBlurMica. I don't know why this works, so hopefully you all smarter than me can help work with the team at ExplorerBlurMica to get a solution for us all :)

P.S. I am new to GitHub so I apologize for not understanding how to properly tag people and also if posting like this is not allowed on this comment thread. Please delete this message if it breaks the rules here.

I tried this out. It's okay but the text is uneven appearing similar to having font smoothing disabled, although not as drastic. A good solution in my opinion would be to have similar font rendering as is used in some programs such as NVIDIA Control Panel. I heard this was called bitmap fonts? The text appears perfectly sharp with no fringing on my LG C2 (ClearType disabled). Although it doesn't have the modern bold smooth font appearance people like, it is something to consider.

image

@dxzdxz1
Copy link

dxzdxz1 commented May 16, 2024

To anyone that is still struggling with text clarity and hasn't seen @dxzdxz1's comment above on ExplorerMicaBlur version 1.07, check it out.

Dxzdxz1 found that that using the older version of the ExplorerBlurMica tool allows text to be rendered perfectly on OLED machines! I reformatted my computer last week and installed the ExplorerMicaBlur modification (v1.07) and have not had to change anything else on my CO49DQ for text clarity.

No fiddling with ClearType, no MacType. Just ExplorerBlurMica. I don't know why this works, so hopefully you all smarter than me can help work with the team at ExplorerBlurMica to get a solution for us all :)

P.S. I am new to GitHub so I apologize for not understanding how to properly tag people and also if posting like this is not allowed on this comment thread. Please delete this message if it breaks the rules here.

Thanks for mentioning my findings @Zetsubou-Sensei, I hope one day we get something like this system-wide through Windows itself

For anyone wondering: This only changes the font rendering on explorer, nothing else. ExplorerBlurMica doesn't touch anything outside explorer.exe

Again, ExplorerBlurMica doesn't affect any other program except Explorer.exe. If anyone is trying and seeing difference in other apps, this is something related to other things you guys are changing, since ExplorerBlurMica only loads it's dll on explorer.exe

It's better than nothing, but isn't a solution

@Jason-GitH
Copy link

Jason-GitH commented May 17, 2024

Going off what I said previously, there is a way to get sharp text in Windows Explorer by forcing Windows to use Tahoma font by following the steps described here: https://www.howtogeek.com/716407/how-to-change-the-default-system-font-on-windows-10/#how-to-change-the-default-system-font-using-registry-editor. Tahoma was the default Windows font prior to Windows 8. I will summarize the steps below. I think the ability to change the Windows OS font may be a more feasible/simpler project for PowerToys than changing the subpixel rendering. At least for WOLED, some fonts can appear very crisp. I do not have a QD-OLED to test.

Here is my Windows Explorer with Tahoma font forced via registry with ClearType disabled. You can see the text areas in main windows are very sharp but there is still some boldening applied to title bar.
image

To force Windows OS to use any font you like:
-Step 1: Backup registry.

-Step 2: Install and/or choose a font you like. Identify the font name by going to Settings > Personalization > Fonts. Tahoma is available at default.

-Step 3: Paste the following into Notepad and change "NEW-FONT" to your "FONTNAME" (e.g., Tahoma):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"Segoe UI (TrueType)"=""
"Segoe UI Bold (TrueType)"=""
"Segoe UI Bold Italic (TrueType)"=""
"Segoe UI Italic (TrueType)"=""
"Segoe UI Light (TrueType)"=""
"Segoe UI Semibold (TrueType)"=""
"Segoe UI Symbol (TrueType)"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Segoe UI"="NEW-FONT"

-Step 4: Save file as *.reg.
-Step 5: Right click and select Merge. Restart PC.

To revert back to default OS font (Segoe UI):
-Step 1: Create a new Notepad file using the following:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"Segoe UI (TrueType)"="segoeui.ttf"
"Segoe UI Black (TrueType)"="seguibl.ttf"
"Segoe UI Black Italic (TrueType)"="seguibli.ttf"
"Segoe UI Bold (TrueType)"="segoeuib.ttf"
"Segoe UI Bold Italic (TrueType)"="segoeuiz.ttf"
"Segoe UI Emoji (TrueType)"="seguiemj.ttf"
"Segoe UI Historic (TrueType)"="seguihis.ttf"
"Segoe UI Italic (TrueType)"="segoeuii.ttf""Segoe UI Light (TrueType)"="segoeuil.ttf"
"Segoe UI Light Italic (TrueType)"="seguili.ttf"
"Segoe UI Semibold (TrueType)"="seguisb.ttf"
"Segoe UI Semibold Italic (TrueType)"="seguisbi.ttf"
"Segoe UI Semilight (TrueType)"="segoeuisl.ttf"
"Segoe UI Semilight Italic (TrueType)"="seguisli.ttf"
"Segoe UI Symbol (TrueType)"="seguisym.ttf"
"Segoe MDL2 Assets (TrueType)"="segmdl2.ttf"
"Segoe Print (TrueType)"="segoepr.ttf"
"Segoe Print Bold (TrueType)"="segoeprb.ttf"
"Segoe Script (TrueType)"="segoesc.ttf"
"Segoe Script Bold (TrueType)"="segoescb.ttf"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]

"Segoe UI"=-

-Step 2: Save as *.reg & right click Merge. Restart PC.

Btw, I came across this utility to change Windows fonts on the fly but it just crashes anytime I use it. I wouldn't recommend using it, but PowerToys could implement something similar: https://www.wintools.info/index.php/advanced-system-font-changer#:~:text=The%20Advanced%20System%20Font%20Changer,of%20how%20text%20is%20displayed.

@Jason-GitH
Copy link

Jason-GitH commented Jun 9, 2024

The new LG 32GS95UE has an MLA+ WOLED panel with new RGWB subpixel layout to improve text clarity.

image

@b1k3rdude
Copy link

b1k3rdude commented Jun 12, 2024

As founder of Blur Busters / TestUFO, I work with computer monitor manufacturers; so I will explain

Hello, I came across your article looking for some image and info on "RGB Q-Stripe" as used on the new Phillips Evnia 34M2C6500 QD-OLED. Was hoping as it has stripe in the name it would be cleartype compatible....

@benpetermorris
Copy link

I'm confused. I bought an LG C2 42" for gaming about a year ago and experienced all the same issues people are describing here with font rendering in Windows.

I stopped using the monitor for about six months (went back to a 32" LCD), and when I hooked it back up a couple of weeks ago, fonts look perfect everywhere. No issues in Explorer, Firefox, Visual Studio ..

I'm not using any special tuners or anything. Did Windows improve in the meantime? What's going on?

@mdrejhon
Copy link
Author

mdrejhon commented Jun 13, 2024

pe" as used on the new Phillips Evnia 34M2C6500 QD-OLED. Was hoping as it has stripe in the name it would be cleartype compatible....

Probably, though I mainly have testing experience on LG OLEDs. My tests show that slight-modified RGB structures (including RGWB) look much better with ClearType than past OLED pixel structures.

I'm not using any special tuners or anything. Did Windows improve in the meantime? What's going on?

Yes...

  1. Some TV firmwares have optimized for improved text processing. LG took serious focus to this issue and has begun optimizing.
  2. Or Microsoft may also have noticed and automatically disable ClearType when the 7-character plug and play identifier from DDC (e.g. "BNQ74F6") identifies a known OLED

One or the other.

Probably item 1, but you can also load the current state of ClearType by downloading Better ClearType Tuner and see if ClearType was automatically disabled.

Did your red/green fringing also disappear from yellows? If that happened too, that's definitely TV firmware enhancement.

@dxzdxz1
Copy link

dxzdxz1 commented Jun 13, 2024

I'm confused. I bought an LG C2 42" for gaming about a year ago and experienced all the same issues people are describing here with font rendering in Windows.

I stopped using the monitor for about six months (went back to a 32" LCD), and when I hooked it back up a couple of weeks ago, fonts look perfect everywhere. No issues in Explorer, Firefox, Visual Studio ..

I'm not using any special tuners or anything. Did Windows improve in the meantime? What's going on?

Are you on 24H2 right now? I noticed an small improvement, like the fonts are slightly bold, which makes the wrong rendering less noticeable, but graphics in general (like icons) are still off.

@Jason-GitH
Copy link

I'm confused. I bought an LG C2 42" for gaming about a year ago and experienced all the same issues people are describing here with font rendering in Windows.
I stopped using the monitor for about six months (went back to a 32" LCD), and when I hooked it back up a couple of weeks ago, fonts look perfect everywhere. No issues in Explorer, Firefox, Visual Studio ..
I'm not using any special tuners or anything. Did Windows improve in the meantime? What's going on?

Are you on 24H2 right now? I noticed an small improvement, like the fonts are slightly bold, which makes the wrong rendering less noticeable, but graphics in general (like icons) are still off.

I feel like the text has been slightly improved in 24H2 now that you mention it but I have no way to compare now. Using WOLED.

@SmoothBrainStan
Copy link

I posted this in the other thread but this might help some people here too.

Small workaround solution using NVIDIA's DSR or DLDSR (Deep Learning Dynamic Super Resolution)!


Scroll down further to get straight to instructions

What is it?

Though typically done by people who game and have a lot of extra performance to spare, this will basically anti-alias your whole screen which increases the amount of smoothing globally to both text and UI elements.

Doesn't eliminate fringing but I've tried all the methods here and this one seems to have the best results for me. A lot of Macs do this alongside their grayscale sub-pixel rendering and Retina displays, which are reasons why text reads very crisp and smooth on them.

DLDSR vs DSR?

From some quick research what I could find is that DLDSR is using AI downscaling with low performance hit compared DSR. For normal desktop use outside of gaming, this shouldn't matter that much and I haven't noticed a difference.

If you're familiar with DLSS, this essentially works essentially opposite of that.

So in DLSS, it uses a low resolution in a game (ex: 1920x1080) and AI up-scaling to a higher resolution (ex: 3840 × 2160), DSR will use a higher resolution (ex: 5760 x 3240) and downscales it to your native monitor resolution (ex: 3840 x 2160)


Natively 4k but running higher resolution that downscales to 4k

image


Instructions

If you have a NVIDIA card, you can easily do this in the NVIDIA Control Panel

  1. Open NVIDIA Control Panel
  2. In the sidebar, click Manage 3D settings
  3. Under global settings, set "DSR - Factors" to your liking
  4. hit apply (Your monitor might bug out for a bit here as it applies)

image

  1. Change to the new resolution!

image

If your UI gets too small, change your scaling to match new resolution. This might not work for certain programs.

Also, If you don't have NVIDIA card, (Approach with caution) there's a chance that a program like CRU could potentially work but I haven't tested it and could put your monitor into an out of range resolution since NVIDIA could be using a more sophisticated way of up-ressing and down-scaling to do this properly.


Multi-monitor setups

you can use an app like LittleBigMouse to account for new scaling. This will correct "moving between monitors" and prevent the annoying mouse jump with some tweaking.


Hope this helps, feel free to correct me if I said anything wrong!

@zenerbufen
Copy link

QD-OLED Tester Wanted

Need some guinea pigs for these PNG images designed for triangular-pixel-structure QD-OLED.

For users of QD-OLED displays

Test image for triangular-subpixel QD-OLED displays

Which one has the least green/blue fringing artifact?

Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display.

The test image here, and information here, will also help Microsoft evaluate improvements to ClearType (possible concurrent incubation), perhaps as a possible "ClearType 2 Tuner PowerToy"

QD-OLED-2 by far!

The 1's get progressively worse
the 2's get progressively better. at 100 % the horizontal lines are clear and distinguishable in the asian script. everything else is blurry, and the 1's get chromatic separation where it looks like I'm viewing one of those red/blue 3d images through the flimsy glasses, it gives me a headache to look at.

QD-OLED-2 is crisp black and white.
Everything else has a level of blur and color bleed. Going in a U starting with the best in the top right and getting worse as you go down to the left and up to the worst one.

Dell Alienware 34 AW3423DFW OLED Quantum dot display.

@KocamanFaruk
Copy link

Hello,

If anyone knows, is microsoft dealing with this problem? I mean better cleartype is on the way?
Is this might be feature request?

I am asking cause i bought QD-OLED Samsung oled g6, text fringing is not bad but not good as my va panel.

@VMCpp
Copy link

VMCpp commented Aug 3, 2024

well hopefully windows 12

@jammerxd
Copy link

jammerxd commented Aug 25, 2024

QD-OLED Tester Wanted

Need some guinea pigs for these PNG images designed for triangular-pixel-structure QD-OLED.

For users of QD-OLED displays

Test image for triangular-subpixel QD-OLED displays

Which one has the least green/blue fringing artifact?

Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display.
The test image here, and information here, will also help Microsoft evaluate improvements to ClearType (possible concurrent incubation), perhaps as a possible "ClearType 2 Tuner PowerToy"

QD-OLED-2 by far!

The 1's get progressively worse the 2's get progressively better. at 100 % the horizontal lines are clear and distinguishable in the asian script. everything else is blurry, and the 1's get chromatic separation where it looks like I'm viewing one of those red/blue 3d images through the flimsy glasses, it gives me a headache to look at.

QD-OLED-2 is crisp black and white. Everything else has a level of blur and color bleed. Going in a U starting with the best in the top right and getting worse as you go down to the left and up to the worst one.

Dell Alienware 34 AW3423DFW OLED Quantum dot display.

I have a Samsung Odyssey Neo G8 and I can agree the QD-OLED-2's get better, but I'm still having some pretty blurry and fringy text in the browser and other applications like visual studio, visual studio code, discord, old windows control panels (legacy run32.dll)

@Andarwinux
Copy link

What Windows users need more than something like improved cleartype is system-side DLDSR, which would transparently provide HiDPI and global anti-aliasing methods for all apps, just like macOS.

@JoelLisenby
Copy link

JoelLisenby commented Sep 13, 2024

I think at this point we're all trying to work around a problem that will never be solved due to the non uniform pixel size and arrangement of QD-OLED panels. The fringe will never go away because of the dominant pixel colors, we just need to recycle these monitors and move on to a better pixel arrangement like WOLED or something new. In my personal experience the WOLED C2 42" panel I own has zero fringe and crisp text as well as excellent color.

image

Dell themselves have a support page dedicated to this subject:

https://www.dell.com/support/kbdoc/en-us/000197731/alienware-34-curved-qd-oled-gaming-monitor-aw3423dw-pixel-artifact-pixel-structure-and-color-tint-at-edges

@mdrejhon
Copy link
Author

mdrejhon commented Sep 13, 2024

I think at this point we're all trying to work around a problem that will never be solved due to the non uniform pixel size and arrangement of QD-OLED panels. The fringe will never go away because of the dominant pixel colors, we just need to recycle these monitors and move on to a better pixel arrangement like WOLED or something new.

You can still do a great job of de-fringing any pixel structure, it just requires knowledge of the pixel structure.

We just need plug-n-play monitor drivers or EDID to include pixel structure of the monitor, to be communicated to the OS. The VESA EDID used to have a field that indicated whether the panel was RGB or BGR, but that could be extended with a brand new CTA861/DisplayID extension (compatible with HDMI & DisplayPort) if people at VESA wants to take this torch. Both DP/HDMI (and USB-C) reuses similar fields for a lot of display-related plug and play like supported resolution and refresh rates.

Even VESA CTA861 / DisplayID extension packet that contains a low-resolution pixel structure mask bitmap (32x32 or 64x64 2-bit, 3-bit, or 4-bit bitmap, to denote positions black, R, G, B, W, and any specified additional specialty color channels like cyan or yellow ala Sharp Quattro). This would be doable in the packet sizes of EDID / DisplayID! You wouldn't need to RLE-compress it, though that'd be good practice, as it'd be very highly compressible (large splotch of red/green/blue in a black rectangle or square).

Microsoft is a member of VESA, by the way.

That's the more difficult part (convincing manufacturers).

Or it simply can be a .INF database instead, supplemental data that is defined with the most-common panels (and possibly crowdsourced -- users can submit macro photos of their display displaying test pattern, and the .INF is automatically generated).

__

Regardless of INF or EDID/DisplayID, the OS can decide how to handle it; it could be just full-screen supersampling (instead of text renderers).

Then again, resolutions are going up, so it's kind of bruteforcing this requirement away (in a sense) as tinier pixels means tinier fringes that may eventually fall below human visibility noisefloor. But fringing is still visible on 4K OLEDs, which means this would still be quite useful for a couple decades, well within the window of Windows 12 support sunsetting.

@JoelLisenby
Copy link

Yeah, it can be slightly compensated for, but not without reducing max brightness which is a spec that manufacturers tout loudly and could be a problem.

I do like the idea of having a special mode and a database of affected displays.

To add to the idea, they would need to submit a long exposure, or video because not all of the pixels are lit simultaneously on these panels from what I've read. Could be difficult to detect the max brightness of each pixel color.

@pbaykalov
Copy link

pbaykalov commented Sep 14, 2024

The fringe will never go away because of the dominant pixel colors

I do not understand what "dominant" is when white point is literally the same and I do not see how QD-OLED is fundamentally different from any LCD panel or any other panel at all since any panel has underlying structure which will cause at least some fringing in some content.

Yeah, it can be slightly compensated for, but not without reducing max brightness

I do not understand what does brightness have to do with that. If you turn green down you necessarily get magenta tint.

@Jason-GitH
Copy link

I think at this point we're all trying to work around a problem that will never be solved due to the non uniform pixel size and arrangement of QD-OLED panels. The fringe will never go away because of the dominant pixel colors, we just need to recycle these monitors and move on to a better pixel arrangement like WOLED or something new. In my personal experience the WOLED C2 42" panel I own has zero fringe and crisp text as well as excellent color.

image

Dell themselves have a support page dedicated to this subject:

https://www.dell.com/support/kbdoc/en-us/000197731/alienware-34-curved-qd-oled-gaming-monitor-aw3423dw-pixel-artifact-pixel-structure-and-color-tint-at-edges

So Dell is saying that unless they produce non-gaming QD-OLED monitors, then they will do nothing to address color fringing. I thought the new generation rectangular/triangular subpixel structure QD-OLED had mostly resolved the fringing issue.

@JoelLisenby
Copy link

JoelLisenby commented Sep 15, 2024

The fringe will never go away because of the dominant pixel colors

I do not understand what "dominant" is when white point is literally the same and I do not see how QD-OLED is fundamentally different from any LCD panel or any other panel at all since any panel has underlying structure which will cause at least some fringing in some content.

The dominant colors are the larger sized pixels (see image I shared above), and also the brighter of the pixels. The arrangement also "encourages" red and blue to blend to purple on the bottom fringe, and green being on its own causes the top green fringe. Without physically changing the pixel arrangement I see no way of truly resolving the issue.

Yeah, it can be slightly compensated for, but not without reducing max brightness

I do not understand what does brightness have to do with that. If you turn green down you necessarily get magenta tint.

The brightness of the pixels is how you adjust the various color output, adjusting these to various levels up and down is how you would attempt to remove fringe and thus "clear" the text.

@kramarz89
Copy link

kramarz89 commented Sep 17, 2024

QD-OLED Tester Wanted

Possible MacType Incubation Under Way

OK, I think MacType might have just incubated it -- it apparently had vestigal support for subpixel vertical positions, so some creative configuration file editing made it compatible with triangular-structure OLEDs! Need some guinea pigs for these PNG images designed for triangular-pixel-structure QD-OLED.

For users of QD-OLED displays

Test image for triangular-subpixel QD-OLED displays

Which one has the least green/blue fringing artifact?

Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display.

The test image here, and information here, will also help Microsoft evaluate improvements to ClearType (possible concurrent incubation), perhaps as a possible "ClearType 2 Tuner PowerToy"

Hey there! Definetelly 2, followed by 2b and 2c, can show pictures at 10 zoom using my phone.
The monitor is PG32UCDM Asus. Any chance you can upload the profiles? Although I don't know how to apply those correctly, I guess using MacType, but when I installed i cannot see much difference between having it enabled or disabled maybe im doing something wrong? Or it's not applied everywhere? Would it be applied to apps like browser, windows system settings and games?

WhatsApp Image 2024-09-17 at 10 06 42 (4)
WhatsApp Image 2024-09-17 at 10 06 42 (3)
WhatsApp Image 2024-09-17 at 10 06 42 (2)
WhatsApp Image 2024-09-17 at 10 06 42 (1)
WhatsApp Image 2024-09-17 at 10 06 42
WhatsApp Image 2024-09-17 at 10 06 41 (1)
WhatsApp Image 2024-09-17 at 10 06 41
WhatsApp Image 2024-09-17 at 10 06 43 (2)
WhatsApp Image 2024-09-17 at 10 06 43 (1)
WhatsApp Image 2024-09-17 at 10 06 43

@pbaykalov
Copy link

The dominant colors are the larger sized pixels (see image I shared above), and also the brighter of the pixels.

If green subpixel is bigger than others then it will necessarily have less flux per area since display is obliged to reproduce specific colour. There is no magical reason for green to be brighter when it's bigger.

@JoelLisenby
Copy link

The dominant colors are the larger sized pixels (see image I shared above), and also the brighter of the pixels.

If green subpixel is bigger than others then it will necessarily have less flux per area since display is obliged to reproduce specific colour. There is no magical reason for green to be brighter when it's bigger.

I thought the same thing until I purchased a Samsung G6 this June and I found colors were not reproduced accurately by any means due to the horrendous purple and green fringe.

@mdrejhon
Copy link
Author

mdrejhon commented Sep 17, 2024

To add to the idea, they would need to submit a long exposure, or video because not all of the pixels are lit simultaneously on these panels from what I've read. Could be difficult to detect the max brightness of each pixel color.

No video needed. It only needs a static test pattern. And long exposure is not needed, you actually need shorter exposures (most of the time) if aiming a camera at extremely bright test patterns.

(Note -- I do research -- I've got over 30 citations so I understand where you're coming from with the photon nonlinearity of gamma curves, HDR tonemappings, ABL/APL and other perceptual-affecting factors. But video and long exposures, I can scientifically say no)

You'd have a standardized test pattern with different shades of brightnesses.

You ask users to photograph that with macro and submit a few photographs, it can be an app that gets the 7-character DeviceID from the monitor's EDID/DisplayID (so we know what screen is being photographed) while the test pattern is being displayed, and the app can have the photo uploader built into it too.

For the test pattern, you can build-in PLUGE-style techniques to determine black clipping or white clipping is occuring, if you really wanted to curve/tonemap/gamma-correct the subpixel antialiasing (using a quadratic regression formula to cuve-fit to the pixel colors photographed). The app can ask people to re-photograph if it detects black clipping or white clipping, even going so far as to\ temporarily adjusting monitor brightness downwards automatically (using VCP code 0x10 over DDC/CI VESA MCCS 2.2) if the camera is unable to use a faster shutter. That metadata can be logged, to indicate the constraints.

Even a simple photo of just solid gray or solid white (R/G/B pixels) would be sufficient to produce sharper text, and you'd provide a subpixel saturation slider (like ClearType's) and subpixel rendering gamma correction slider (additional adjustment) for the sRGB subset (that computer text is rendered on) of whatever colorspace your monitor is.

The server back end would convert crowdsourced/submitted photos to the appropriate masks. Even some smartphones is sufficient to produce data that provides a significant text-clarity improvement (the ones with the good macro, aim 6" away and pinch zoom) but a standalone digital camera usually has much better macro.

We don't have to overdo it, and the generic mask will be useful regardless of how we subpixel-compensate (via font renderer, or via global supersampling technique), and the gamma curve (or algebric regression curve-fitter) doesn't have to be fully perfect.

Not everybody cares, but as you can see many complaining about it, there are many that definitely do, including less experienced people who are completely unaware that this is a subpixel issue.

This could be a universal database in theory (DeviceID's mapping to pixel structures). Perhaps trailblazed by Microsoft, or perhaps third party, perhaps by VESA, perhaps by a consortium (BTW - could include Blur Busters as part of the consortium; as I'm happy to collab on this).

_Note: For detecting monitor model via an app via APIs retrieving DeviceID's -- Sometimes old DeviceID's sometimes were identical between different models of LCD's, but newer screens have unique DeviceID per model (and even per video port on the monitor, e.g. BNQ74F6 may be DisplayPort and BNQ74F7 may be HDMI). Device ID's usually are 3-letter prefix (BNQ = BenQ) followed by their own 16-bit hex for a specific port of a specific display model.

Also, fortunately I've never seen OLED screens (extremely new tech) recycle DeviceID's like LCDs did 15 years ago, so there should be quite a good deal of accuracy with newer modern screens of various esoteric pixel structures. After all, when monitor manufacturers apply for a new DeviceID, they usually get a company-wide prefix (e.g. BNQ) and can use any hex digits for the last 4 characters for every different device/port they need a Plug-n-Play DeviceID for.

So a giant database can be quickly generated by an app that:

  1. Displays text with common pixel patterns (including current OLEDs), and failing that:
  2. Confirms opt-in of crowdsourced pixel structure
  3. Collects Device ID from monitor being tested (so the pixel structure is linked to the model)
  4. Displays test pattern and instructions how to photograph it
    (Including best practices instructions: Smartphones require 6 inch distance + use zoom lens, for better macro; not all can do it well).
  5. Easy upload feature for the image (File upload, QR code upload -- app can display QR code to load a website that allows upload of the images directly from phone without transferring to PC first)
  6. App or server will quickly check if image is good enough (use now-common easy machine learning library to recognize blurriness/sharpness of image, and alignment of the test-pattern rectangle). Tell user to repeat step 3-4 if not good enough.
  7. Server can extract subpixel information from the photograph, including all necessary calculations (like simple algebraic regression curve-fit formula for brightnesses of different greyscale bars, for automatic server-side gamma correction etc). The greyscales would test R/G/B and other subpixels simultaneously, to see how flux is affected even for different asymmetries in subpixel sizes and surface areas Immediately, your display gets subpixel correction, and then step 1 repeats (display text with new subpixel correction). It would be a catchall!

The optional test pattern would be carefully constructed:

  • Test pattern macro-photo friendly (only about 32x24 or so)
  • Test pattern to include strategically build in corner indicators (for server side autocrop / skew corrector)
  • Test pattern to have gamma-verifying data (2.2, 2.4, 2.6, etc)
  • Test pattern to have different brightnesses of pixels (including potential HDR headroom)

Voila! Central crowdsourced database.

Heck, it could be a "ClearType2 Tuner" powertoy utility, or it could be third party.

@kramarz89
Copy link

@mdrejhon is it possible to upload the QD_OLED-2 profiles for mactype? I really like how the 2 looks like, and wanted to see if it suits me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-New PowerToy Suggestion for a PowerToy
Projects
Status: No status
Development

No branches or pull requests