[Talk-de] JOSM - langsam bei ausgef?llten Polygonen?
Wolfgang Silbermayr
wosi at gmx.at
Mo Apr 28 17:56:09 UTC 2008
Michael Bergbauer schrieb:
> On Mon Apr 28, 2008 at 09:2715AM +0200, Wolfgang Silbermayr wrote:
[...]
>> Die Funktion g.fillPolygon(polygon); in
>> org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java Zeile 228
>> im aktuellen SVN benötigt nach meinen Messungen über 1 Sekunde, wenn ich
>> ein Polygon so anzeigen lasse, dass es die gesamte Zeichenfläche
>> ausfüllt. Sind mehrere übereinander liegende Polygone im Bild, so kann
>> es durchaus mal bis zu 5 Sekunden dauern, bis ein Zoomschritt
>> durchgeführt wurde.
>
> Kannst du mir bitte den TestCase, mit dem du hier gearbeitet hast,
> zukommen lassen? Ich wuerde mir das gerne genauer anschauen.
Du kannst im Grunde jede halbtransparent ausgefüllte Fläche nehmen. Ich
hab zum Beispiel den Wald verwendet, der unter
http://openstreetmap.org/?lat=48.00573&lon=13.9938&zoom=17&layers=0BFT
zu sehen ist.
Zum Überprüfen der Zeit habe ich noch ein paar Zeilen Code eingefügt,
diff siehe unten.
Lg, Wolfgang.
===================================================================
--- MapPaintVisitor.java (Revision 621)
+++ MapPaintVisitor.java (Arbeitskopie)
@@ -13,6 +13,7 @@
import java.awt.geom.GeneralPath;
import java.util.Collection;
import java.util.LinkedList;
+import java.util.Calendar;
import javax.swing.ImageIcon;
@@ -225,7 +226,11 @@
g.setColor( w.selected ?
selectedColor : coloura);
+ Calendar start = Calendar.getInstance();
g.fillPolygon(polygon);
+ Calendar end = Calendar.getInstance();
+ long difference = end.getTimeInMillis() - start.getTimeInMillis();
+ System.out.println("Printed polygon. Time: " + difference + "ms");
}
// NEW
Mehr Informationen über die Mailingliste Talk-de