Mittwoch, 20. Mai 2009

JXRenderMark 1.0 released

JXRenderMark 1.0 has been released, you can download it here

Thanks to a contribution made by a major GPU vendor who uses JXRenderMark for nightly performance regression testing, the results are now more stable and the benchmark runs faster. Thanks again!
Furthermore the "Transformed Blit Billinear sharp edges" test has been corrected, as well as small adoptions to the blit tests have been made.

Please give it a try on your system, and submit the results along with a short description of your system.
I am especially interested in (with EXA enabled):
  • open-source radeon driver, R100-R500, R600/700 with DRM+EXA
  • Unichrome
  • Intel <= i865

Montag, 18. Mai 2009

Austria to quit CERN engagement

Austria plans to stop its CERN engagement to save anual ~26M €, because we are so thight on budget.

- Currently you get 1.500€ for your old car if you buy a new one. No matter where it was produced.
- We spend ~40M € per year on Euratom, although we don't have a single nuclear plant and did decide to never build one. (well, thanks to ...., .... built us one in the 70' but we never switched it on)
- Austria just lost 1,5B €, because a bank went bankrupt we lend money to.

In 2009 and 2010 Austria will set a new all-time record for new national debts and all I saw this morning were government advertisments in the newspaper how well they work.
Its seems its all about choice, the questions is between what.

Samstag, 16. Mai 2009

Sw->Surface Blits

Recently I've implemented SW->Surface blits. Those code paths are used if an image is not cached (first use or not cacheable), e.g. when blitting a BufferedImage with stolen raster which some programs do quite frequently.
I avoided that stuff for a long time, because I didn't want to touch the whole well tuned image-upload code which is shared with the X11 pipeline.
For now a new VolatileImage is created every time the image is blited, using it later for composition - which is probably not an optimal path - but a lot less code ;)

> sun.java2d.xr.XrSwToPMTransformedBlit::TransformBlit(IntArgb, AnyAlpha, "Integer RGB Pixmap")
> sun.java2d.loops.Blit::Blit(IntArgb, SrcNoEa, IntRgb)

Update: Ok admited, it reuses the VI now for better performance ^^

Sonntag, 3. Mai 2009

XOR rendering

The last few days I've been busy with cleanups and refactoring, today I implemented acceleration for the infamous XOR mode. Modern applications don't use it very often, but many older apps rely a lot on it, and especially for the remote case fallbacks would kill performance. (I'ts not very fast in the local case either).
XRender doesn't support bitwise-XOR, so the pipeline has to use the X11-GC which adds another few lines of code for state-tracking and another bit complexity: