Frage

Ich verwende JUNG für ein Projekt und wenn ich relativ große Diagramme anzeige, z. B. 1500 Knoten, kann mein PC damit nicht umgehen (Diagramme werden gerendert, aber wenn ich durch das Diagramm navigieren möchte, wird das System sehr langsam).Anregungen.

War es hilfreich?

Lösung

Es gibt also zwei Dinge, die die Jung -Visualisierung momentan nicht immer sehr gut skaliert:

  1. Iterative Kraft-inszenierte Layouts
  2. Wechselwirkung: Wenn Sie herausfinden, welcher Knoten oder Rand (falls vorhanden) für Schwebedauer verwiesen wird und auf Ereignisse klickt.

Es hört sich so an, als wäre es das letztere, auf das Sie gerade stoßen.

Abhängig von Ihren Anforderungen haben Sie einige Optionen:

  • (a) Deaktivieren Sie Mausereignisse oder mindestens schwebende Ereignisse
  • (b) Hacken Sie das Visualisierungssystem, sodass die Nachschläge von Ereigniszielen nicht O (M+N) sind.

Einfache Lösungen für (b) Partitionieren Sie im Grunde genommen nur den Betrachtungsbereich in kleine Stücke und sendet nur Ereignisse an Elemente, die sich im selben Chunk wie den Zeiger befinden. (Je kleiner Sie die Stücke machen, desto mehr Speicher ist erforderlich.)

Wir hatten vor, seit einiger Zeit (b) (und ein Design skizziert) zu tun, haben aber an anderen Dingen gearbeitet. Jeder, der bei einer dauerhafteren Lösung helfen möchte, kontaktieren Sie mich bitte.

Andere Tipps

Mit wie viel Speicher beginnen Sie mit Ihrer VM? Angenommen, Ihre Arbeit unter Windows, die den Task -Manager betrachtet, trifft der VM die maximale Menge an zugewiesenen Speicher und beginnt mit dem Swap zu verwenden?

Das Problem liegt wahrscheinlich in der Berechnung der Positionen Ihrer Eckpunkte.Das einzige Layout, das ich ziemlich einfach zu berechnen fand, war das Baumlayout und offensichtlich ist das nicht für alle Datensätze geeignet.

Die Lösung besteht wahrscheinlich darin, ein eigenes benutzerdefiniertes Layout mit viel weniger Berechnungen zu schreiben als beispielsweise ein FRLayout.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top