I don’t think there’s much to elaborate, text is unreadable mess in 2023s. Screenshot below using maximum sharpness, just look at this poor ‘e’
Image
I don’t think there’s much to elaborate, text is unreadable mess in 2023s. Screenshot below using maximum sharpness, just look at this poor ‘e’
Image
The reality is subpixel anti-aliasing is dead and dying for many reasons including but not limited to: high dpi displays, non landscape orientation displays, non-RGB left to right subpixel arrangements on new display tech like OLED, difficult to maintain and optimize graphics code for subpixel rendering, especially any that handle any of the above edge cases. The major graphics APIs don’t support it, the major operating systems are dropping support for it, so it all has to be coded and maintained by the application developers.The whole origin of subpixel rendering is a software hack born from the hardware limitations of the 1024 x 786 and under (post CRT) LCD era.
You’ll notice that the latest versions of Windows use subpixel anti-aliasing less and less, it’s essentially deprecated in the new UI APIs . And on the latest versions of macOS subpixel anti-aliasing is completely gone and can no longer be enabled even with command line hacks. All due to the reasons stated above.
Having said that, even with just grayscale text anti-aliasing the hinting (snapping to the pixel grid) in the ‘e’ seen in “Preferences” could definitely be turned up and would be more readable in my eyes at least at this DPI. the ‘e’ in “General” is comparatively hinting more into the pixel grid in what seems like the same font size, so it’s a bit curious why this is happening.
With that said, the balance of staying true to the shape of the font glyphs at the cost of sharpness, vs hinting and snapping into the pixel grid for readability on low DPI screens is rather subjective. Windows traditionally has leaned towards practical readability, whereas macOS has leaned towards glyph design accuracy which is important for design consistency across many devices, display technology, and other display mediums.
Except I’m using default 1080p screen and unity is literally the only app that can’t render text properly. It used to be fine, in fact it is still fine on 2022s and earlier versions, there’s no excuse to be made.
I’m not using mac tho
Sorry for any misunderstanding from my rambling post. My intention is to outline which ship has already sailed (subpixel anti-aliasing) and which hasn’t. (greyscale anti-aliasing and improving hinting.) So we can focus efforts on that and describe the issue by these industry terms so the developers have a clear path of action.
I’m not happy about these millions of 1080p displays getting their text readability nerfed either left and right, but it is what it is. This is just a small symptom of a much larger technology trend. Larger than Unity or a specific operating system like macOS or a certain display technology. I was just providing some backstory and mentioning how Microsoft has been slowly but steadily following Apple’s lead on this, as per usual when it comes to “look and feel”.
These are the tides of change and there’s only so much we can do within our reach during this transitional period.
Yeah there’s definitely something about current software “engineers” wanting from people to upgrade their hardware all the time instead of doing their work properly. This is exactly the same with windows topbar update, where unity just wants us to use Windows 11 instead of fixing their sh*t. That said I still hope that it is not the case with font rendering and someone actually cares about it
It can’t be that hard to just enable MSAA for the text rendering though, is it? As far as I can guess, this whole situation is related to the fact that unity is now rendering fonts using distance fields, which would mean they are in full control over rendering. Even if alpha to coverage doesn’t help you could at least supersample it itself, geez
This seems a little too poetic to say “people don’t do their job anymore”
What happened in 2023 to make the text blurry? Is this intentional? Why?
It’s not just 1080p. Plenty of people run 1440p with big monitors at 100% scaling.
Thanks for raising the issue, this is caused by IMGUI switching its text backend to TextCore, which now uses SDF by default instead of bitmap hinted. At small point size and on low DPI screens, bitmap hinted indeed renders crispier text. However, on higher DPI screens, bitmap hinted can render text that looks more blocky and SDF with its anti-aliasing should be better looking.
That being said, we did not expect SDF to be such an issue on low DPI screens and we’ll investigate ways to address this and support a wider range of screens.
In fact, SDF is anti-aliased by default, which gives it a smoother / less pixelated look. This anti-aliasing is what’s making the font at small point-size and on low-DPI screens looks bad as it doesn’t have enough pixels to work with. In this context, bitmap hinted which don’t have anti-aliasing will render crispier text, but it will do so by modifying the shape and position of each character.
That’s interesting. It is weird to hear tho since in IDEs like Rider antialisaing removes both blur and blocky-ness, but I guess it was arrogant of me to assume how something works (or worse, why it doesn’t), my apologies
Btw while you’re here, I also noticed that sharpness setting on latest alpha doesn’t seem to do anything until you change it. Meaning if I set it to 1 and reopen editor - it’ll get blurry again. Anyway, looking forward to resolving this, believe it or not a ton of people still use 1080p screens
Did nobody at least ask Stephan at Unity of TMP fame what he thought of the idea of using SDF for small texts?
Really glad the issue is being ackowledged here.
The issue is relevant to everyone using 100% scale in Display settings in Windows.
This is typical for classic low DPI displays: 24"/27" screens with 1080p/1200p/1440p (DPI 90-110)
High DPI displays typically use 150% or even 200% scale and don’t have this issue.
Macs users have generally higher DPI displays (DPI >110, Retina >200)
I can see the future where everyone has high DPI screens and we won’t have to solve issues like this.
But we’re not there yet and it might take a long time before late adopters get 4K screens.
Sooo…can we expect toggle in Preferences soon?
@HugoBD-Unity
Another discussion is also here:
Would be good to exclude font sizes under 11 pixels or a user set value from being anti aliased.
I’m using an old 30" apple cinema screen and I plan to keep using it for the next few years.
Most modern screens have glossy screens and are too bright for me.
So it’s been almost 2 months since HugoDB-Unity said this was being looked at. What progress has been made in resolving this and when will the ‘fix’ be released?
Still no response from devs, can we now assume this is a “feature” and will not be fixed?
I think so. They’re likely prioritising new features similar to this one…
Hi all, quick update on this topic. We had to shift our focus to address foundational technical debt, and will be able to jump back on this issue once we’re done with that work. We have no ETA to share at this moment but we’ll provide an update as soon as we can.
Thanks for your understanding.
Thanks for keeping us updated! Really appreciated
Link to issue tracker:
@benoitd_unity Any update on this?
I’d like to second this question. I can not use 2023.x versions because of this bug. Reading text hurts my eyes, literally. Please fix this!