On 11/13/14 5:45 PM, Sergey Bylokhov wrote:
Moreover this code have a big impact(hundreds percents) on the performance
of drawing, I consider we should return region from the TransformHelper
 directly in the future(or we should change format of edges array to the
 bands array format). I do not see that we do a lot of calculations at the
 native level in the TransformHelper.calculateEdges() so it should be
 possible, I think....

One thing to consider, though, is that this code is only used in some rare cases - either that we don't have a direct native loop for the TH native code to use directly, or that it is a custom composite. The gains from the elimination of the Java-to-native transitions per scanline also probably swamp any other tuning operation we can do here so I think we've reached the knee of the curve for tuning this operation already.

I'd rather have the (albeit internal to the implementation) API for Region be reliable in the results it generates than to go out of our way to create external loopholes for constructing the objects for some gains in this "backup code".

Note that if any given Src/Dst transform operation is critical to any application, it would be better to make sure that we have a native MaskBlit for that combination than to make this clipping code go any faster...

                        ...jim

Reply via email to