United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6307603 [X11] Use RENDER extension for complex operations done in software
JDK-6307603 : [X11] Use RENDER extension for complex operations done in software

Details
Type:
Enhancement
Submit Date:
2005-08-08
Status:
Closed
Updated Date:
2013-05-01
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
client-libs
OS:
linux,generic
Sub-Component:
2d
CPU:
x86,generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
5.0,6
Fixed Versions:

Related Reports
Duplicate:
Relates:
Relates:

Sub Tasks

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

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
                                     
2005-08-08
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).
                                     
2010-05-28



Hardware and Software, Engineered to Work Together