Hey, does anyone care about this? On Wed, Jun 3, 2026 at 12:31 PM Glavo <[email protected]> wrote:
> Hi everyone, > > We have noticed that, for JavaFX applications on Windows HiDPI displays, > subpixel antialiasing often produces very poor rendering results for many > fonts. > > For example, when using the MiSans font on a display scaled to 150%, the > edges of English letters rendered with subpixel antialiasing show very > noticeable jagged artifacts: > > https://imgur.com/ZpzDWZ5 > > > For Chinese text, the results of subpixel antialiasing are even more > disastrous. Many strokes either blur together or show obvious > inconsistencies in thickness, making the text look very poor. > > To address this issue, we tried forcing grayscale font antialiasing by > adding -Dprism.lcdtext=false. After testing many fonts, we found that on > HiDPI displays, grayscale antialiasing is never worse than subpixel > antialiasing, and it fixes rendering issues for many fonts. On non-HiDPI > displays, that is, at 100% scaling, grayscale antialiasing and subpixel > antialiasing each have their own advantages and disadvantages. > > We then added a workaround in our application: on Windows, if the primary > screen scale is greater than 100%, the application automatically adds the > JVM option -Dprism.lcdtext=false to enable grayscale antialiasing. After a > year of real-world use, we have not received any user complaints about this > strategy. > > I hope JavaFX can provide a built-in mechanism for automatically selecting > the appropriate antialiasing algorithm, so that users do not have to adjust > these options manually. > > Glavo >
