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

[X11] Use RENDER extension for complex operations done in software

XMLWordPrintable

    • 2d
    • b97
    • generic, x86
    • generic, linux
    • Verified

      A DESCRIPTION OF THE REQUEST :
      The current X11 pipeline does a lot of things on software, even AA-Text or other AA-operations on native surfaces are painfully slow, as are non-opaque operations or gradients, as far as I experienced the X11 pipeline is the slowest pipeline.
      All these operations could be done by using the XRENDER extension which has been shipped XORG since some years.

      Although I think the OGL pipeline is really great and very powerful I am in doubt it can become the standard used on X11 powerd boxes since currently opengl drivers are very broken and many features the pipeline relies on are not available on lower-end hardware like integrated intel gpus or sis cards (for which RENDER already works quite well).

      Since the whole software-fallbacks are already working it would be great to see just commonly used operations to be accerlated (like AA test, non-opaque fills, transculent iamges stuff like this).

      JUSTIFICATION :
      Because many common operations are not accerlated by the X11 pipeline and require VI -> Software -> Rendering -> VI "roundtrips".
      This includes even on Desktops heavily used operations like AA-Test or AA-draws and non opaque fills.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Fully accerlated by XRENDER, only fallbacks in corner cases for which XRENDER has no support.
      ACTUAL -
      many operations are done in software, which is extremly slow when rendering to a "native" surface since the data has to be fetched from the x-server.

      CUSTOMER SUBMITTED WORKAROUND :
      Use the OpenGL pipeline (does only work on 10% of our test machines properly), use software-rendering only (BufferedImage) or do not use unaccerlated operations at all.

            prr Philip Race
            jssunw Jitender S (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: