[uDraw(Graph)-Users] How to use API updates

Pieter Bellens pieter.bellens at student.kuleuven.ac.be
Thu Jul 21 12:37:27 CEST 2005


Hi again,



thanks for the swift reply...and here i go again: 


> unfortunately the memory footprint of uDraw(Graph) grows, this is a
> known
> problem. But we can't solve it currently because it is a problem of
> the
> programming language we are using. Please tell me what operating
> system
> on which hardware configuration you are using.
> 
The large memory footprint is remarkable, but not really a problem. I
observed it on the following machines:

Linux 2.4.25 #9 SMP i686 unknown 
Linux 2.4.27 #7 SMP i686 unknown
Linux (Debian, kernel 2.6.12.3) Acer laptop, amd1700+ 



> The incremental layout and update algorithms in uDraw(Graph) are
> implemented
> especially for getting updates in one API command. Every update
> results in the
> following steps in uDraw(Graph):
>    1. Insert the update into the graph
>    2. Recalculate the layout incrementally for the updated part
>    3. Redraw the graph for the updated part
> If you send one API command, these steps are executed once, if you
> send N API
> commands, they are executed N times.
> 
Okay, but this doesn t really explain the slowing down of the program. I
would logically expect UDG to be slower for a burst of very small
updates, compared to a scenario where it has to cope with a smaller
amount of bigger updates, true. But the problem is not slow
responsiveness an sich, it is a *slowdown*. 

Initially, UDG can keep up with the external program that generates the
nodes and edges. When the graph reaches a size of 100 nodes, 300 edges
or so, it slows down to the point of being useless. Hence, the problem
doesn t seem to be the large amount of smallish updates (only one node,
or several edges), because initially, UDG can cope with those. Rather, i
would think that the problem is that UDG can t cope with large-size
graphs, no matter the size of the updates. Since UDG only accepts one
update at a time from the pipe, the size of the update is irrelevant,
wouldn t you say? I mean, if UDG displays a large graph at the moment,
and it responds very slowly to a very small update (my present
situation), i would expect it to be even slower, when sending over a
large update (your suggestion).  

If you can assure me that the lack of responsiveness from UDG will
disappear when using bigger updates, i m inclined to believe you, of
course. But i would like to be absolutely sure before spending another
week coding the changes, and finding out the opposite. I just don t see
the reason why bigger updates would remove the problem.



looking for answers,


pieter bellens    






More information about the uDrawGraph-Users mailing list