Statistics:Posted by eduramiba — 21 Mar 2012 21:24
Suggested Barnes-Hut optimization applicable only for combined force version from 3.1, where we don't calculate edge compatibility, right?We consider the improvement of the performance and computational complexity of FDEB, which is O(N · M^2 · K), with N = iterations, M = edges, and K = subdivision points per
edge, to be the most important direction for future work.A straightforward way to directly address this is to use asubdivision-based approach such as Barnes-Hut simulation to attain O(N · M log M · K) complexity
Statistics:Posted by megaterik — 21 Mar 2012 18:06
Statistics:Posted by admin — 22 Apr 2010 19:53
Statistics:Posted by Yestin — 12 Apr 2010 13:42
Statistics:Posted by cklee — 09 Apr 2010 14:16
I would suggest to directly plan Preview API rewriting in your proposal instead of modifying current implementaion. Thanks to his experience by mentoring Jeremy past year, the mentor is well-suited to start this work. The aim is really to simplify the architecture, it will look much more easy and straightforward to add FDEB features. The student job is to help porting the current Preview API. However it is a very good exercice to try to change current Preview API to add FDEB features. That will highlight that it's not easy to do and convince the student that it could be much more easier with a proper modular architecture. Putting the anonymous plugin developer shoes is often needed to understand what are the most important features to include in an API. An API should serve developers in a way most common things are easy to do and more complex remains possible. Making everything possible leads to two much abstraction. While working with us, you'll know more about these concepts and you will be invited to read some references. Please try to imagine a simpler system for Preview, that would fit with the current and future (basic) uses-cases. You could read about API design on this website (http://wiki.apidesign.org/wiki/Main_Page) it's a short version of what you could find in one of the book that inspired current Gephi architecture. It's a must read for Gephi developers.
The Preview issue is not something simple to solve, once GSOC started the real work will start and what needs to be redone will be clearly set, together. You already showed good understanding on the problem, please continue in that way! The discussion is very fruitful.Due to performance issues, SVG and PDF exporters have to do a lot manually. We tried to use Batik or iText to convert SVG to PDF but that fails for the moment due to performance problems. Therefore we have 3 different types of rendering target: Processing, SVG and PDF. We don't expect to add new target and can live with the fact each of them has to be maintained with its drawbacks. But as you were pointing it, that is a problem for modularity. However we can do much better than what we have currently. There is presently no abstaction on what is an rendered object, everything is done in the render() routine of Processing, SVG and PDF renderers. One can imagine having a Renderer interface that would provide code for rendering an object (let's say a node) in a particular target. In my opinon I would read properties in these renderers. That would replace supervisors system and provide extensibility, by letting plugins create or repace current renderers.
Statistics:Posted by mbastian — 07 Apr 2010 00:11
Statistics:Posted by Yestin — 06 Apr 2010 13:40
Statistics:Posted by Yestin — 06 Apr 2010 13:24
Statistics:Posted by cklee — 06 Apr 2010 12:33
Statistics:Posted by mbastian — 05 Apr 2010 18:24
Statistics:Posted by BigMadWolf — 04 Apr 2010 22:55
Statistics:Posted by mbastian — 02 Apr 2010 12:19
Statistics:Posted by cklee — 02 Apr 2010 03:07
Question 1 @Jeremy: Can you explain more as to why the supervisor system is not up to par? I'm looking at the code, but it would be very helpful if you could hone in on some problems.Note that I'm not very happy with the supervisor system. If needed, feel free to refactor it, or to implement its behavior in another way.
Statistics:Posted by cklee — 02 Apr 2010 02:59
Statistics:Posted by BigMadWolf — 27 Mar 2010 19:37
Statistics:Posted by Yestin — 26 Mar 2010 10:44
Statistics:Posted by admin — 25 Mar 2010 20:11
I think FDEB fits to the preview module because it's something you want to do for increasing the map readability and design after all and is not suitable for real-time calculation. The thing is that our 3d rendering engine only draws straight lines. Supporting bezier curves is completely killing performances, I made the test. That's why we keep curved lines for the preview module. Without the ability to draw the FDEB results in real-time, I think the proposal don't fit to the layout module.Yestin wrote:The goal of the proposal is adding FDEB to gephi. You said in the description of the proposal that it should be added in the preview module. Have you think about adding FDEB to the layout module? Or you think this is not reasonable? I looked through FDEB paper you supplied in general. In my point of view, FDEB is a graph rendering method or a layout method. Using edge bundling can reduce clutter of large graph. So addding it to the layout module is much properer, isn't it?
The preview module currently has a quite static architecture. It will need refactoring for adding some algorithms (FDEB) that can integrates the results in the model. The idea of Preview architecture is to be on top of all outputs (Processing, SVG, PDF). In other words Preview API has to be modified to support curves that FDEB will generate.Yestin wrote:You also said one of the task of the proposal is to refactor preview module. Should my application on the project contain the detail idea of how to refactor this?
Right, a new edge type will appear.Yestin wrote:I downloaded the source code of this project, and looked through the preview module in general. If we add FDEB in preview module, we may rewrite or implement edge related class first to fit the segmentation of this algorithm. Because of limitation of time, I have a little trouble in covering all the codes and architecture of the project. Do you have any introduction or suggestion?
Statistics:Posted by mbastian — 25 Mar 2010 16:14