Peruzzi Alessandro wrote:
> My problem isn't to generate svg dom but in my applet the ploblem is 
> to popolate a swing canvas (org.apache.batik.swing.JSVGCanvas) 
> including svg creation. Therefore the problem is to conversion 
> SVGDocument into swing component.

    The thing is that the way you are creating the document
(lots and lots of rects) is causing your problem when you
try to display it.  Can you provide some description of
how these 100's of thousands of rects are laid out?

    If they are in a regular grid I would look at combining
rects that have the same fill.  Also if the rects are
stroked you are much better off having grid lines that run the
full height/width of the table rather than stroking each rect
separately (much less geometry and you aren't double
stroking everything).  Also you may find that path elements
are better than rects (and they are easier to use to combine
elements).

> Code to do it is:
> // generate SVGDocument with org.apache.batik
> // and then the conversion in a swing component
> 
> JSVGCanvas canvas = new JSVGCanvas();
> canvas.setSVGDocument(svgDocument);
> 
> Up to 100000-150000 elements is ok but over this number of elements 
> the conversion is more slow. (I need 300000-500000 elements)
> 
> How do I do it?
> There is another best methods for do it? 

    Can you generate the rects 'as needed'?  So if the document
is generally larger than the display (you can even force this)
then you only generate the rects for the currently visible portion.

    Performance might also be slightly better if you introduce
grouping (for example put all the rects for a row in a group)
rather than having one parent with 500K children.

    Hope these ideas help.  You might also want to check out
the Batik-users mail-list (although most of my comments above
apply to any SVG renderer).


-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to