JDK-8156149 : Blurry rendering on Windows 7 at 125% screen setting
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 9
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86_64
  • Submitted: 2016-05-05
  • Updated: 2019-03-08
  • Resolved: 2016-08-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+116)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+116, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]

EXTRA RELEVANT SYSTEM CONFIGURATION :
In the windows control setting for screen it is set at 125%

A DESCRIPTION OF THE PROBLEM :
Font rendering (or image display?) is blurry when screen options set at 125%. Sadly I can't attach screenshots. This can be tested with any GUI program, e.g. jvisualvm.exe => look at the splash window.

I have screenshots of the splash window with both JDKs. They have different sizes. This looks as if java9 does a (poor) magnifying after the rendering is done. The good one is 470 x 270, the bad one is 589 x 339.

The same problem can also be seen with the Apache PDFBOX debugger-app-2.0.1.jar (get it at https://pdfbox.apache.org/download.cgi ) and then drag and drop any PDF with text on it. Even the menus look poor. After opening a PDF, use the menu and click "View", "Zoom". The bullet symbol looks bad.

There is a similar issue:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8129862

But that one is said to be resolved, which is why I opened this issue.

REGRESSION.  Last worked in version 7u79

ADDITIONAL REGRESSION INFORMATION: 
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)


(It was also fine working on the latest JDK8, which I use at work but not here at home)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
start  C:\Program Files\Java\jdk-9\bin\jvisualvm.exe and look at the splash window.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
sharp glyphs
ACTUAL -
blurry glyphs

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
set windows screen control options at 100%


Comments
The splash screen showing on HiDPI display is covered by the issue JDK-8151787 Unify the HiDPI splash screen image naming convention The high-resolution splash screens should be provided useing the name convention: @125pct @150pct @2x @250pct @3x. For examples splash.png - low resolution image splash@125pct.png - high resolution image for UI scale 1.25
19-08-2016

The issue with splash screen is covered by bug: JDK-8151787 Unify the HiDPI splash screen image naming convention The high resolution splash screen image with name image.java-scale125%.png or image.java-scale120dpi.png should be provided. The issues with text selection and cursor are covered by: JDK-8156217 Selected text is shifted on HiDPI display JDK-8142966 Wrong cursor position in text components on HiDPI display The issue with icons is covered by: JDK-8152309 Seamless way of using image filters with multi-resolution images JDK-8143064 Icons are not properly rendered with Windows L&F on HiDPI display The painted artifacts are covered by this issue.
11-05-2016

What we have here is the hi-dpi code kicking in and scaling what is the visualvm splashscreen image. I can reproduce this on my windows 7 not-hidpi-screen by setting the font size to 125%. I also notice anything that is an image SwingSet2 looks generally horrible. The text there looks perfect of course because it is drawn at the correct resolution. Just don't try to select it. JInternalFrames leave mouse droppings galore as the dirty area calculation does not match the rendering. Artifacts can be seen in other places too for the same reason I suppose. Many of the icons in the tool bar and elsewhere are being scaled with unsatisfactory results. Perhaps we should be cueing off something else than the user asking for larger fonts before deciding to scale up the UI by 25%. The specific case of the splashscreen for jvisualvm could be fixed by the tool using the splashscreen API to provide multi-res images using the support for that in 9, but the general issue that scaling an image by 1.25 is going to result in artifacts that particularly affect text is just a fact and the only solution is "don't do that", although a better image filter might help.
06-05-2016

Attaching screen shot of same image with JDK8 and JDK9
05-05-2016