Pergunta

Estou usando JUNG para um projeto e quando estou exibindo gráficos relativamente grandes, por exemplo, 1.500 nós, meu pc não seria capaz de lidar com isso (os gráficos são renderizados, mas se eu quiser navegar no gráfico, o sistema fica muito lento).Alguma sugestão.

Foi útil?

Solução

Portanto, há duas coisas que a visualização do Jung nem sempre é muito bem escala agora:

  1. layouts direcionados à força iterativa
  2. INTERAÇÃO: Descobrir qual nó ou borda (se houver) está sendo referenciado para pairar e clicar em eventos.

Parece que é o último que você está encontrando agora.

Dependendo dos seus requisitos, você tem algumas opções:

  • (a) Desligue os eventos do mouse, ou pelo menos os eventos pairar
  • (b) Hackear o sistema de visualização para que as pesquisas de metas de eventos não sejam O (M+N).

Soluções simples para (b) basicamente apenas dividem a área de visualização em pedaços pequenos e apenas envia eventos para elementos que estão na mesma parte que o ponteiro. (Obviamente, quanto menor você faz os pedaços, mais memória é necessária.)

Tivemos planos de fazer (b) (e um design esboçado) há algum tempo, mas trabalhamos em outras coisas. Qualquer pessoa que queira ajudar com uma solução mais permanente, entre em contato comigo.

Outras dicas

Com quanta memória você está iniciando sua VM? Supondo que você trabalhe no Windows, olhando para o gerenciador de tarefas, a VM atinge a quantidade máxima de memória alocada e começa a usar a troca?

O problema provavelmente está no cálculo das posições dos seus vértices.O único layout que achei bastante fácil de calcular foi o Tree Layout e obviamente não é adequado para todos os conjuntos de dados.

A solução provavelmente é escrever seu próprio layout personalizado com muito menos cálculos do que um FRLayout.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top