26.11.2012, 11:25
(26.11.2012, 06:11)lundefugl Wrote: Daher die Frage - kannst Du mal in den Code schauen, obs da etwas Optimierungspotential gibt ? Evtl. wird nach jedem gelöschten Punkt irgendein refresh ausgelöst, auf den man verzichten könnte. (Höhenprofil o.ä.)
Das ist in der Tat so. Ich fasse in ConvertPanel#selectPositions() schon Events für aufeinanderfolgende Indices zusammen, um die Anzahl der Events zu minimieren. Leider ist das Selektionsgehampel von DeletePositionsDialog#handlePositionsUpdate und ConvertPanel#handlePositionsUpdate immer noch ziemlich teuer.
(26.11.2012, 06:11)lundefugl Wrote: P.S.: was genial wäre: wenn der Dialog nicht in der Zeit den Swing-Thread blockieren würde und stattdessen einen irgendwie gearteten Fortschritt anzeigen könnte - "schon x Positionen gelöscht" oder so.
Das Selektieren, das die meiste Zeit kostet, muß in der AWT-Eventqueue ausgeführt werden. Da hilft wohl nur der Einbau eines ProgressMonitor in ConvertPanel#selectPositions() wie in BatchPositionAugmenter um dem Nutzer eine Chance zum Abbrechen zu geben und den Fortschritt zu visualisieren.
--
Christian
Christian
