[OpenJDK 2D-Dev] Reporitory, Accalerating blits with EA
Clemens Eisserer
linuxhippy at gmail.com
Wed Jul 16 14:17:27 UTC 2008
Hi Chris,
> I'm not sure the process you need to follow to get commit access to it
> (maybe you could ask Mark Reinhold about that on a separate alias, like the
> discuss alias?).
Thanks for the hint, Mark sent me the registration invitation.
> Do you know which Blit loop is being called in its place? (You can use
> -Dsun.java2d.trace=log to get an idea, or you can just step through the
> Blit.getFromCache() method.) I suspect there is another, more specific Blit
> loop that's already registered that is being found before the one you
> registered, but that's just a guess.
Ah, that was a bit weird ;)
With xorg-server-1.3 I hit a slow-path in the xserver, so I thought
that would cause the same slowness in Java2D's FadeAnim.
With xorg-server-1.5 my test was fast but FadeAnim was still slow,
because it uses getSubImage() for the surfing duke.
I changed the FadeAnim demo a bit to not use getSubImage() anymore and
now it performs as expected, also the OGL/D3D pipelines should benefit
from that change.
Is there interest to include that small improvement?
If not, no problem of course ;)
> "Extra alpha" has the same behavior for all AlphaComposite instances. In a
> nutshell, the extra alpha value gets logically multiplied with the source
> before the actual compositing operation. The AlphaComposite docs explain
> this process in great detail (look for the A[sub]ac factor):
> http://java.sun.com/javase/6/docs/api/java/awt/AlphaComposite.html
Thanks for the explanation.
I guess the reason for the behaviour I see is a xserver-bug ... I am
not really sure what to do about it till now.
Owen Taylor described it as:
> (Pixman of course, does fetch transparent, - it's just that a
> transparent source gives you black for operator=Src and an opaque
> target.)
I paint the scanlines and lines to an alpha-mask which I use later for
composition.
Instead of transparent for the (1- extra-alpha) part I get black,
thats why the result differs.
Thanks, Clemens
More information about the 2d-dev
mailing list