Windows support for HiDPI displays, call for feedback and testing

Jim Graham james.graham at
Fri Jun 5 20:49:06 UTC 2015

I actually use a retina MBP for testing - dual booting Windows and MacOS.

There should be no changes at all on other platforms, particularly in 
regard to rendering speed.  There was one small regression on Linux 
resulting in a bad first paint due to asynchronous initialization of the 
Window size, but no performance issues.  Can you be more specific about 
where you see the performance drop?  What kind of scene graph/animation?

The system properties are all Windows specific, thus the "" 
prefix.  In 9 we might generalize all of the HiDPI support and offer 
something more centralized, but those are just there for testing the new 
Windows support for now.  We'll also look at how to advertise the pixel 
scaling to applications at that time.

One thing to note is that the way that Mac retina support is done, if 
the user ever sets their control panel to anything other than "just pick 
the best conditions for this display" then there is pixel-scaling going 
on behind the scenes in the OS, so any attempts to try to line up with 
pixels will be muddied by the virtual DPI they are emulating at the 
system level.  We'll also be looking at ways to bypass their built-in 
"virtualized" HiDPI support in a later release so that we can actually 
talk directly to display pixels regardless of CP settings.

This virtualized scaling is mitigated by the fact that this HiDPI pixel 
stretching is happening on a HiDPI display and so any linear 
interpolation is hidden by tiny pixel sizes.

To that end, we are doing something similar with Windows scaling.  There 
are a number of places in the FX code that assume that it can predict an 
integer translation from the FX code and so we always render at integer 
scales so that integers in FX Scene coordinates map to integers in 
rendered pixel coordinates.  We'll try to fix those in 9 so that we can 
do non-integer scaling, but until then there will be the same disconnect 
between trying to line up with display pixels and the actions of HiDPI 
as Mac OS already has...


On 6/5/15 3:03 AM, Dr. Michael Paus wrote:
> I cannot provide any Windows specific feedback on HiDPI displays because
> I don't own one but I am working on a MacBook Pro with Retina display
> and thus would like to ask a few questions in this context.
> How are other platforms (Mac, Linux) affected by the changes you made
> for the Windows support? (On my Mac I noticed a severe performance drop
> when using 8u60 which may possibly be related to these changes.)
> Are any of the special system properties you mentioned also usable on
> other platforms?
> Is there any way now to find out what the current pixel scale factor is?
> Without that knowledge it is impossible to do proper graphics on any
> HiDPI screen. (E.g., you can't position graphic elements correctly in
> order to get crisp lines or you can't get a crisp snapshot of a node if
> you don't take special actions based on the pixel scale.)

More information about the openjfx-dev mailing list