Frederik Ramm schrieb: > Hallo, > >> Ich habe mich (obwohl ich schon einige Zeit mappe) vor Kurzem erst >> intensiver mit ausgefüllten Polygonen beschäftigt, insbesondere um >> Wälder zu mappen. Die aktuelle Version von JOSM wird jedoch immer dann >> extrem langsam wenn eine große Fläche eines halbtransparent ausgefüllten >> Polygons sichtbar ist > > JOSM mit "Wireframe"-Anzeige ist langsam, JOSM mit "mappaint" ist > langsamer und JOSM mit "mappaint" mit ausgefuellten Polygonen ist > extremst langsam. Dieser ganze Zeichencode ist ueberhaupt nicht > optimiert, da ist viel Spielraum fuer Verbesserungen (wie JOSM-NG > schon bewiesen hat). Wenn sich jemand mal gruendlich der Sache > annehmen will, das waere allen eine grosse Hilfe.
Habe da mal reingesehn, und bei dem Code, der das Zeichnen der Polygone betrifft, scheint nicht sehr viel Raum für Verbesserungen zu sein. 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. fillPolygon() ist eine Java-eigene Funktion: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Graphics.html Wenn da jemand andere Verbesserungsvorschläge hätte als Java abzuändern oder eine eigene Alternative zu schreiben (die natürlich auch erstmal effizienter werden müsste) würde mich das sehr freuen. Ein Workaround, der mir so auf die Schnelle einfällt (aber sicher nicht das Gelbe vom Ei ist), wäre zuerst mit Wireframe zu zeichnen, und dann das Befüllen der Polygone einem Workerthread zu überlassen. Lg, Wolfgang. _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de