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

X11GraphicsDevice.pGetBounds() is slow in remote X11 sessions

XMLWordPrintable

    • b25
    • generic
    • linux

        When Java GUI is displayed over a slow network connection (either directly via 'export DISPLAY' or with 'ssh -Y'), a significant amount of time is spent in a native method called sun.awt.X11GraphicsDevice.pGetBounds(); the method is essentially the backbone of X11GraphicsDevice.getBounds(). This leads to noticeable freezes (up to several seconds) at random intervals.

        There are other scenarios where the bounds of a graphics device may become a performance bottleneck:
        * there are tools the emulate many monitors such as [1] and, when the number of monitors is large enough, can be slow in responding,
        * in an XWayland environment, when several monitors have different scaling factors their bounds are used for calculating the correct position and size of windows (this part is under the umbrella of the Wakefield project). This operation is so frequent that it puts a lot of pressure on X11GraphicsDevice.getBounds().

        [1] https://github.com/phillipberndt/fakexrandr

              mkartashev Maxim Kartashev
              mkartashev Maxim Kartashev
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: