[Intel-gfx] Linux won all the Java perf benchmarks except graphics

Clemens Eisserer linuxhippy at gmail.com
Fri Dec 19 15:15:50 CET 2008


Hi Martin,

> "The j2dbench performance was significantly better on Windows Vista
> Premium, but that's likely attributed to the Intel graphics stack on Linux
> having little in the way of performance optimizations
What the article didn't mention (it was added after I mailed the
author) is that Java's X11 backend currently only uses core-drawing
and no XRender, therefor for most of the tests fall back to pure
software rendering.

Furthermore the benchmark is purly synthetical, repeating the same
operation over and over.
So if one op falls back to software its copied out once, no big deal.
In real life the pixmap-data is ping-ponged between user and GPU-space
(hopefully this will be solved at least for shared-memory GPUs with
GEM), this was also the reason why the upcoming JDK6u12 will disable
hw-accaleration to pixmaps when EXA is running:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6708580

I am currently working on a XRender based Java2D backend, which allows
the XServer to accelerate allmost all operations supported by Java2D,
and XRender support is planned for integration in JDK7:
http://linuxhippy.blogspot.com/
http://78.31.67.79:8080/jxrender/

The good news is that it works quite well with the NVidia proprietary
driver's (GF6+) as well as with Nouveau on GF6/7, but unfourtunatly
recent versions of intel show very poor performance.
Also intel shows mis-rendering on 945 and below:
http://bugs.freedesktop.org/show_bug.cgi?id=16917

> Will it be able to compete or surpass with Vista?
In that benchmark? I don't guess.
On Windows Java uses a Direct3D based backend (ok, its not used for
intel because their D3D drivers are too broken), and can do a lot of
things with shaders where with XRender we are dependent on the
drivers.

For now there's not a single driver capable of accelerating Gradients
or Trapezoids (needed for antialiased rendering).
Especially gradients hurt a lot, because of their broad useage in modern UIs.

> Is GEM
> the missing piece or will more be required (i.e. improvements in Mesa
> etc)??
Mesa is OpenGL only, so it won't contribute to 2D performance, as far
as I understood it.
I guess the driver just needs a round of
benchmarking/profiling/optimizations after all those structural
changes that happend in the last months.

- Clemens



More information about the Intel-gfx mailing list