[OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste
Laurent Bourgès
bourges.laurent at gmail.com
Wed Apr 10 19:46:33 UTC 2013
Sergey,
I am not an expert here but just my 50 cents.
> This optimization shall take place only if it is really hotspot. But if it
> is a really hotspot - probably it would be better to remove these
> array/object allocation at all and use plane bytes?
>
Java2D calls AAShapePipe for each shape (line, rectangle ...) rendering so
it is an hotspot for me for big drawings as it will depends on the drawing
complexity (for example, Andrea MapBench can produce maps having more than
100 000 shapes per image ...)
> I see that some methods which take it as argument doesn't use them. And
> most of the time we pass AATileGenerator and abox[] to the same methods, so
> it could be merged?
>
For now I did not want to modify the AAShapePipe signatures: abox[] is
filled by AATileGenerator implementations (ductus, pisces, others) in order
to have the shape bounds and render only tiles covering this area.
>
> Also I suggest to use jmh for java micrbenchmarks.
> http://openjdk.java.net/**projects/code-tools/jmh<http://openjdk.java.net/projects/code-tools/jmh>
> So your test will be:
> http://cr.openjdk.java.net/~**serb/AAShapePipeBenchmark.java<http://cr.openjdk.java.net/%7Eserb/AAShapePipeBenchmark.java>
>
Thanks,
I will try it asap
Laurent
>
>
>
> --
> Best regards, Sergey.
>
>
More information about the core-libs-dev
mailing list