xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thomas.dewe...@kodak.com
Subject Re: performance issue
Date Mon, 08 May 2006 21:54:00 GMT
Hi Steiner,

"Steiner, Dominik" <Dominik.Steiner@gigatronik.com> wrote on 05/08/2006 
10:54:05 AM:

> I had a similar post a while ago, and Thomas was able to help with my 
> performance issues. Requirements though have gone up and I?m testing my 
svg 
> app with more gps points, i.e. I have a map (600 kb) and there can be 
around 
> 400 gps points on it displayed.

   You might be able to make use of the 'static' patch in Bugzilla.
If the underlying map isn't moving much it can help a lot.

> Basically what I do is I collect the gps updates which are coming from 
the 
> server and update the canvas every 2 seconds. During the canvas updates 
I?m 
> getting peaks of 60 ? 70 % CPU power because of the rendering involved. 
I?m 
> wondering if I can do something to improve that, or are the requirements 
just 
> to high for batik to handle it?

   400 pts is a bit high especially depending on how well spread out
they are (if mostly uniformly spread out it could be more or less
rerendering the entire document the each time).

   You could try splitting the document into to pieces and use two
canvas's on top of each other (similar effect to how the static patch
works, not quite as general but the current static patch has some
cases where it's performance isn't much better than without it).

> My gps points are plain circles with a text and a tooltip. All the 
elements 
> are inside a <g>. To update the points I transform the <g>. That hint 
with the
> <g>-tag already helped me a lot. Is there anything more I can do? 

   So your update loop simply changes the transform attribute on the 
'g' elements?

> Is there a way to do batch updates in batik, i.e. change the gps points 
first and 
> afterwards let batik render the changes or is batik doing it like that 
already?

   If you update all of the points in one UpdateManager Runnable then they 
are
batched.  If you are putting a runnable on for each point then they are 
not
batched and moving to one runnable would be a _huge_ win.

   Hope that helps.
 

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Mime
View raw message