Hi Olivier,

> I have very bad performances using batik to display and update a SVG over a 
> X11 export display.

I don't know about the internals of X11 export display, but I can
imagine that would be close to Remote Desktop and/or VNC, possibly
more efficient. But given that Java ultimately deals with buffered
images(bitmaps) I guess the X11 export's potential efficiency,
regarding vector operations, is kinda chopped down (please correct me
if I'm wrong!)... It might be possible to implement Batik rendering
directly using X11 primitive operations, which would then take
advantage of the X11 export display, but that would probably be a
crazy project (in terms of the amount of work and required Batik
refactoring)! :-D


> Is there any documentation to understand the policy of batik to do the 
> repaint?

You may take a look at the Batik architecture [1], but that's only a
starting point. The repaint internals are likely within the GVT
module, but I'm not sure if, else than the Javadoc (and the source
code itself, naturally), more documentation is available...


> When I do a setAttribute style, for example, does batik repaints only the 
> necessary
> part of the display (the rectangle surrounding the element)?

That should be the case.


> If I have several layers, does batik repaints each one?

I guess not. As far as I know, the repaint is made by areas so, if you
update the several layers in a single operation -- or using a batch
operation with the already stated (un)suspendRedraw -- than a single
repaint would be expected.


Thomas is the GVT expert [2] so he may be able to shed some light
here; as for me, this is hitting the limit of my current Batik
internals knowledge, so I really doubt I can provide much more useful
information.


As a side note, why not place some debug output in the repaint classes
and check what Batik is doing for yourself...? ;-)


Hope this helps,
 Helder


[1] http://xmlgraphics.apache.org/batik/using/architecture.html
[2] http://xmlgraphics.apache.org/batik/contributors.html#expertise

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to