[Gammaray-interest] Graph library
Christian Gagneraud
chgans at gmail.com
Wed May 29 15:55:56 CEST 2019
On Wed, 29 May 2019 at 23:48, Kevin Funk <kevin.funk at kdab.com> wrote:
> > > If you can adapt to new VTK layouting strategies, fix bugs, etc. that's of
> > > course welcome. But it's not like this is or will become a super important
> > > feature of GammaRay, I believe.
> >
> > That's mainly due to what it visualizes, not how it visualizes it, I'd say.
> > QObject hierarchies are not the most interesting or useful information IMHO
> > in real use. I see a lot more potential in Christian's work on visualizing
> > object interaction though. How well that scales in 2D or 3D views to still
> > be useful beyond simple examples is going to be very interesting though, I
> > find that very hard to predict.
Short answer is that it's very random, different layouts yield
completely different perfs.
With default parameters, some layout will hapilly swallow 100s if not
1000s of nodes/edges (layout+render in less than 100ms), some not.
And it heavily depends on the various tweaking parameters. Some allows
you to speed up the layouting to the expense of the "wow" factor. Node
overlaps are IMHO almost unacceptable, but expensive spline-based edge
routing is not a "must have".
> Oh, sure. I actually wasn't aware this could get useful for visualizing other
> things than just object hierarchies. Makes sense for other data.
>
> In that case it might indeed make sense to revive and explore that plugin a
> bit more.
After playing around with generated dataset [1], i came to the
conclusion that i need live data.
And right now - as a pet R&D project - i'm thinking about "hijacking"
this visualiser plugin, for two reasons: First it gives me a base to
start with (probe+ui plugin), and then i would like to use one source
model to feed both graphviz and VTK (for the sake of
perf/UX/capability comparison).
I did a fare bit of reading recently, and i'm planning to change the
input model from a plain QtObject tree to a simple table:
thread, sender, receiver (and hopefully later on, add an extra
'weight' column). I do understand that i'll have to cycle through the
object model, to start with i might just have a "refresh" command that
reset the model - good enough.
>From some slides (i forgot to bookmark the link), my understanding is
that VTK can swallow that Qt model with a minimum of massaging and
this table model of clusters+edges can very easily be transformed into
a GV graph, for which i now have a basic layouting/rendering pipeline.
Chris
[1] https://graphviz.gitlab.io/_pages/pdf/gvgen.1.pdf
More information about the Gammaray-interest
mailing list