JUNG non può visualizzare grafici di grandi dimensioni?
Domanda
Sto usando JUNG per un progetto e quando io sono la visualizzazione relativamente grandi grafici ad esempio 1500 nodi, il mio pc non sarebbe in grado di gestire la cosa (grafici sono resi ma se voglio per navigare il grafico del sistema diventano molto lento). Eventuali suggerimenti.
Soluzione
Quindi, ci sono due cose che JUNG visualizzazione non sempre in scala molto bene in questo momento:
- iterativi layout della forza-diretto
- interazione:. Capire quale nodo o bordo (se presente) viene utilizzata come riferimento per il passaggio del mouse e fare clic su eventi
Sembra che sia quest'ultimo che si sta eseguendo in questo momento.
A seconda delle esigenze, si dispone di un paio di opzioni:
- (a) Spegnere eventi del mouse, o almeno di eventi al passaggio del mouse
- (b) hackerare il sistema di visualizzazione in modo che le ricerche di obiettivi di eventi non sono O (m + n).
Soluzioni semplici per (b) fondamentalmente solo partizionare l'area di visualizzazione in pezzi un po 'piccole e invia solo gli eventi per gli elementi che si trovano nella stessa pezzo come puntatore. (Ovviamente, il più piccolo si fanno i pezzi, è necessario il più memoria.)
Abbiamo avuto intenzione di farlo (b) (e un design delineato) per qualche tempo, ma abbiamo lavorato su altre cose. Qualcuno che vuole aiutare con una soluzione più permanente, si prega di contattare me.
Altri suggerimenti
Quanta memoria stai iniziando la tua VM con? Assumendo che il lavoro su Windows, guardando il Task Manager, fa il VM ha colpito la quantità massima di memoria allocata e iniziare a utilizzare swap?
Il problema risiede probabilmente con il calcolo delle posizioni vostri vertici. L'unico layout che ho trovato abbastanza facile per il calcolo è stato il layout albero e, ovviamente, che non è adatto per tutti i set di dati.
La soluzione è probabilmente quello di scrivere il proprio layout personalizzato con molto meno calcoli che dire un FRLayout.