Reinhard Brandstädter wrote:
Thomas DeWeese wrote:

Hi Reinhard,

  The difference is that when you use "" in DOM they aren't SVG elements
but when seirialized they 'become' SVG elements because they have no
prefix and the default namespace is SVG.  Thus we must conclude the
issue is mostly likely the additional time incurred in repainting
the canvas when SVG elements are added to the DOM.

  From this I conclude that your GraphicalObject returned by
'ecfg.getEventRepresentation()' is reused, and hence you
end up setting the position of the previous circle if the
runnable hasn't completed yet.  I've confirmed this by
checking that there are infact 280 circles in the 'missing'
SVG file and some of them have duplicate locations.

Good point, I didn't think of that. Although I think the ecfg Object is returned from a Buffer and so should be a individual and different Object everytime, so should be the Graphical Object.
But anyway I'll try to clone the Object for the Update Thread.


I'm thinking of an another solution too, instead of using the invokeLater() method of the RunnableQueue, I'll try to use invokeAndWait().

There should be no problem with this. Once does need to be careful using this from the swing event thread.

Is there another safe way to update the document without the RunnableQueue, as far as I can see the updatethreads are invoked at any point. I would prefer a exect point of time (controllable by me or the timer)

The short answer is no, the only safe way to update the document is in the update thread. I guess the real question is what would it mean to say an 'exact point of time'? What if the document is being modifed from another timer, or for display? Someone needs to be delayed. The Update manager tries to run your runnable as soon as possible - I don't know that you can do any better given the need to synchronize.

  The FAQ goes into a bit more detail why Batik it architected
this way.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to