Salut,

Je développe une appli de simulations numériques, avec une interface graphique "en temps réel" basée sur JFreeChart.
En début de simulation, je constate des "à-coups" gênants, puis le déroulement de la simulation devient plus fluide.
Ainsi :
Nom : speed1.png
Affichages : 329
Taille : 74,5 Ko

L'analyse de la mémoire montre que la gestion de la mémoire allouée à l'application est responsable de ces "à-coups" :
Nom : memory1.png
Affichages : 314
Taille : 47,2 Ko

Pour essayer d'obtenir une simulation plus fluide, j'augmente la mémoire allouée à l'application (-Xmx2048m -Xms1024m).
Je relance, et j'obtiens :
Nom : speed2.png
Affichages : 234
Taille : 86,0 Ko
et :
Nom : memory2.png
Affichages : 247
Taille : 47,7 Ko

La simulation est beaucoup plus fluide, parce qu'il n'est plus nécessaire d'augmenter la taille du heap en début de simulation.
En revanche, le rythme des collectes est beaucoup plus élevé, avec pour résultat, au total, un ralentissement de la simulation :
- dans la première configuration, la durée d'une simulation tourne autour de 60 secondes,
- dans la deuxième configuration, la durée d'une simulation tourne autour de 45 secondes.

Pourquoi le fait d'avoir alloué plus de mémoire à l'application augmente-t-il la fréquence des collectes ?
Que faire pour concilier fluidité et performance ?