When the alarm table has a few thousand active alarms (in our case ~3000) the ui slows down to a point where its unusable. After some profiling and investigation it seems that individually updating each row of the table in
|
private void update(final ObservableList<AlarmInfoRow> items, final List<AlarmInfoRow> input) |
causes the entire table to get resorted immediately after each row has been set. Ideally the table should be sorted after all the rows have been updated.
I've attached a screenshot of the visualvm profile that led me to this conclusion.
