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

Mustang: Improve the image caching mechanism used by GTK L&F

XMLWordPrintable

    • 6
    • b88
    • x86, sparc
    • linux, solaris_9

      During the Solaris Desktop Summit we've determined that one of the
      reasons for the new GTK L&F not performing as well as the default
      Ocean L&F (up to 40% slower in our tests on SwingMark) is that the image
      type for the images used for caching the widgets is always translucent.

      We've found that some themes don't use translucent pixels when rendering
      their components. ClearLooks theme is one example - most of the components
      are either opaque or 1-bit transparent. Both of these types of images
      can be accelerated by Java2D on X11.

      Even in the Blueprint theme some of the widgets are rendered as
      opaque/1-bit transparent.

      With a simple hack to GTKCachingPainter.java's createImage to always
      return INT_RGB instead of ARGB (so this is the "best we can get" estimate)
      we got about 7% improvement in SwingMark score in the local display case,
      and about 4x (yes, that's 400%) improvement in remote case.
      (The local case shows even better improvement if text AA is disabled)

      See some suggestions about how to implement this fix in the comments section.

            peterz Peter Zhelezniakov
            tdv Dmitri Trembovetski (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: