JDK-8220381 : Scale up splash screen image in HiDPI environment
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 9,10,11,12,13
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2019-03-08
  • Updated: 2019-03-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.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
Current implementation of Splash Screen will load a HiDPI variant of the image if it's provided (see JDK-8151787 for more details).

If a larger splash screen image is not provided, the current image is displayed as is. In a HiDPI environment it could be too small.

In cases where the image for the current scale factor is not available, the standard (100%) or the closest image should be chosen and scaled up or down to the correct size that corresponds to the scaling factor used.
Comments
For JDK 9 which supports hidpi on windows, the preferred solution is to have the application to provide appropriate images. Scaling a provided image only makes sense if there are no alternate images provided. Also it should take into account that below 125% JDK 9 (+) does not scale up any part of the application so the same should apply to the splash screen - more specifically to honour the same threshold. However I wonder if there are also some issues 1) in the selection of the multi-res image it looks to me to take (int)(scale) - so if scale is calculated at 1.9 we'd take the "1x" scale image ? If we are just blitting you'd want closest .. although when running once the VM is up I think we always take the closest equal or larger and scale down if needed 2) I am wondering what happens when you use the SplashScreen API as well ? If we aren't scaling the image when using native code then there'd be a "jump" in size - and perhaps position ? - when you try to seamlessly transition over to using the API to display the splash. I think all of this should be investigated as part of this fix.
19-03-2019