I'll push it on Monday .. or as soon as I can ..

I remember now, yes diagonal lines were not so hot anyway ..

BTW I saw an picked up that bug you filed as a place holder for redoing
bilinear blits

CR 7159455 : Nimbus scrollbar rendering glitch with xrender enabled on i945GM

-phil.

On 4/7/12 3:46 AM, Clemens Eisserer wrote:
Hi Phil,

Looks fine should solve the problem.
Thanks. Could you please push the patch?


Perhaps it would have been nice to
calculate the interpolation with the clip but then you'd need to pay
attention to whether it was a complex clip or a simple rectangular one
and it may be better to do the delegation that you are doing now ...
Diagonal lines are quite a sad story with xrender anyway - I tried to
keep it simple.
For horizonal/vertical lines (which can be reduced to a fillRect) it
should have been a win, however.


Thanks, Clemens


-phil.


On 4/5/2012 5:49 AM, Clemens Eisserer wrote:
Hi,

Please take a look at the patch for bug 7150134, located at
http://cr.openjdk.java.net/~ceisserer/7150134/

The problem was caused by a fast-path in drawLine() which didn't take
clipping into account, therefor huge lines that would have been
clipped away caused OOMs in xrender's bresenham code. Because the
fast-path provides nice speedups (e.g. 300% for 20px horizontal lines
measured with J2DBench) I don't want to sacrifice it entirely.

This fix only takes the fast-path in case the line is completly
un-clipped, otherwise it lets generic Java2D code handle it:
http://cr.openjdk.java.net/~ceisserer/7150134/

Thanks, Clemens


Reply via email to