JDK-6307603 : [X11] Use RENDER extension for complex operations done in software
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0,6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,linux
  • CPU: generic,x86
  • Submitted: 2005-08-08
  • Updated: 2013-05-01
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7 b97Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
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.

Comments
EVALUATION An Xrender pipeline from Clemens Eisserer has been pushed to JDK 7 Its disabled by default and is enabled with -Dsun.java2d.xrender=true (or True for verbose).
28-05-2010

EVALUATION XRender support is still somewhat variable in availability and performance. Over remote X11 it could be useful for some cases and in fact we already internally opened an RFE to investigate using it for AA text. 5086814 :RFE: Java 2D: consider Xrender for anti-aliased text on remote X11
08-08-2005