[OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste (original) (raw)
Laurent Bourgès bourges.laurent at gmail.com
Wed Apr 10 19:46:33 UTC 2013
- Previous message: [OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste
- Next message: [OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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.
- Previous message: [OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste
- Next message: [OpenJDK 2D-Dev] AAShapePipe concurrency & memory waste
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]