Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8166954

Drawing artifacts with floating point UI scale

XMLWordPrintable

      The issue is created to track the discussed problems with floating point UI scale. See http://mail.openjdk.java.net/pipermail/2d-dev/2016-September/007718.html
      -------------------------
      Hello,

      JDK9 comes with HiDPI support on Windows/Linux which is really great. As
      we gave it a try, we found it looking pretty good with an integer scale
      (2x) but revealed some rendering flaws with float scales.

      Let me please demonstrate it with SwingSet2 + JDK9-ea-b137 + Windows 8.1
      in 150% scale (1.5f)

      demo1 <http://cr.openjdk.java.net/%7Eant/hidpi_pics/demo1.png>

      Dragging Frame-0 behind the pallet makes the pallet wavy.
      Also, as Frame-0 moves it may leave traces.

      demo2 <http://cr.openjdk.java.net/%7Eant/hidpi_pics/demo2.png>

      Unstable look of a control. For instance, these two combos are decorated
      differently (and not perfectly).

      demo3 <http://cr.openjdk.java.net/%7Eant/hidpi_pics/demo3.png>

      Scrolling traces.

      demo4 <http://cr.openjdk.java.net/%7Eant/hidpi_pics/demo4.png>

      Menu traces.
      Colored rendering artifacts.

      Additionally, I'm attaching a test source & pics kindly provided by
      Renaud (cc'd) from AndroidStudio. The demo finely shows problems on the
      example of primitive rendering.

      Scaling 100%
      <http://cr.openjdk.java.net/%7Eant/hidpi_pics/Scaling-100-percent.png>

      Scaling 125%
      <http://cr.openjdk.java.net/%7Eant/hidpi_pics/Scaling-125-percent.png>

      Scaling 150%
      <http://cr.openjdk.java.net/%7Eant/hidpi_pics/Scaling-150-percent.png>

      It seems like most of the mentioned issues are caused by inaccurate
      rounding performed during the rendering cycle.
      -------------------------

            psadhukhan Prasanta Sadhukhan
            alexsch Alexandr Scherbatiy
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: