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 > >