I'm evaluating Batik for use in a basic floorplan/CAD application, but
I've stumbled into some performance issues (system & svg details
below). Initial rendering performance is good; I've clocked the GVT
build cycle around 6 sec. The problem arises when I try to move layers
around on the canvas. Moving one layer at a time is fine, and it takes
a few seconds. But one of the application's requirements is to move many
layer at a time to provide a different view of the drawing. This was
taking anywhere from 15 to 30 sec depending on how many layers there
were to move and how close they were to their new position. I've found
that cloning the document, making the changes, and reloading onto the
canvas is faster than moving layers on the canvas. This gets me back to
around 6 sec for the reload. Below is a description of my setup, and I
am hoping someone can point out an obvious problem or give me a new idea
to try.
Generally, I'm concerned because my development machine is a decent
machine, and many of my users are certainly going to have lesser
machines. Is Batik a good solution for large sized CAD files or would
performance be better using other tools? Thanks for helping with my
problem!
My Setup:
*Athlon 64 3000+ with 1GB of ram
*Java JDK1.5
*Batik 1.6
SVG File Description:
*Approx. 4Mb not compressed
*Structure
-drawing elements are grouped by layer
-a complex layer can contain about 15,000 lines (7,500 shape
elements; 7,500 group elements)
-each shape has its own group nested under a layer because a shape
can have other elements associated with it
-Example layout...
<g opacity="1.0" id="Layer1">
<g id="G1_L1">
<line .../>
<circle ... />
</g>
<g id="G2_L1">
<line .../>
<circle ... />
</g>
........many more elements......
<g>
<g opacity="1.0" id="Layer_2">
<g id="G1_L2">
<line .../>
<circle ... />
</g>
<g id="G2_L2">
<line .../>
<circle ... />
</g>
........many more elements......
<g>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]