Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-12 Diskussionsfäden Henry Loenwind
Andreas Jacob wrote:
> Am Montag, 12. Mai 2008 05:42:13 schrieb Henry Loenwind:
>> Wie gesagt, draw.rawgps.trianglelines ist bei mir mehr als 10 mal
>> schneller als einfache Linien - und ich verstehe es nicht...
> 
> Mal in's Blaue hinein vermutet. Die Engines von Grafikkarten bzw. die 
> ansteuernden Treiber sind doch alle auf das Arbeiten mit Dreiecken getrimmt. 

Na, das ist es nicht.

Langsam: g.drawLine(old.x, old.y, screen.x, screen.y);
Schnell: g.drawLine(old.x+2, old.y+2, screen.x, screen.y);

Also in dem Moment, in dem die Linie dort weitergeht, wo die letzte 
aufgehört hat, ist es schnarchlangsam. Der Name des Settings bezieht 
sich nur auf die Form, die dabei rauskommt, da ich dann eben 2 versetzte 
Linien zeichne (um genau zu sein, diese gehen von den Endpunkten der 
Pfeil-Linien zum nächsten Punkt).

cu
Henry

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-12 Diskussionsfäden Michael Buege
Am Montag 12 Mai 2008 02:19:44 schrieb Frederik Ramm:
> Hallo,
>
> > Leider schleicht es immer noch ordentlich.
>
> Schalte doch einfach die Polygonfuellerei ab, wenn Du einen langsameren
> Rechner hast - so wichtig ist das doch nicht. Ich selber arbeite
> meistens sogar mit dem Wireframe-Modus, weil mir alles andere zu bunt
> ist ;-)

Dito. Meistens schalte ich nur dann um, wenn ich etwas die Uebersicht verloren 
habe oder etwas Bestimmtes suche. 

Michael


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-12 Diskussionsfäden Andreas Jacob
Am Montag, 12. Mai 2008 05:42:13 schrieb Henry Loenwind:
> Frederik Ramm wrote:
> > dazu, trac genau zu verfolgen, daher danke fuer den Hinweis.
>
> Ok, Patch hängt am Ticket.

Zunächst erst einmal vielen Dank für eure stete Mühe. Die 632 ist in 
polygonreichen Gebieten wesentlich besser benutzbar. Die bisherigen 
Verbesserungen sind für mich schon ein Unterschied wie Tag und Nacht.

Wenn jetzt noch die Probleme der nicht-transparenten Layer aus #736 behebt, 
bzw. die Lösungen einpflegt, dann kann man wieder richtig schön mit josm 
loslegen. 

>
> Wie gesagt, draw.rawgps.trianglelines ist bei mir mehr als 10 mal
> schneller als einfache Linien - und ich verstehe es nicht...

Mal in's Blaue hinein vermutet. Die Engines von Grafikkarten bzw. die 
ansteuernden Treiber sind doch alle auf das Arbeiten mit Dreiecken getrimmt. 
Deswegen prüfen ja auch viele Benchmarks die Dreiecksfüllrate, Vielleicht ist 
es im Code so (ohne ihn gesehen zu haben), dass die Linienfunktion darauf 
beruht, dass die einzelnen Punkte der Linie von der CPU berechnet werden 
müssen, und diese Punkte zum Zeichnen an die Grafiktreiber übergeben werden, 
wärend die Dreiecksfunktion direkt an die Treiber gegeben wird, und dieser 
sie wiederum auch "nur" zur Berechnung und Darstellung in die GPU schiebt.

Mit dieser Erklärung kann ich mir die von dir beobachteten 
Geschwindigkeitsunterschiede sehr gut vorstellen.

Gruß Andreas

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-11 Diskussionsfäden Henry Loenwind
Frederik Ramm wrote:

> dazu, trac genau zu verfolgen, daher danke fuer den Hinweis.

Ok, Patch hängt am Ticket.

Ich habe zwei Änderungen, die visuelle Auswirkungen haben,
konfigurierbar gemacht; Default: AUS. Siehe auch Tickettext.

Wie gesagt, draw.rawgps.trianglelines ist bei mir mehr als 10 mal
schneller als einfache Linien - und ich verstehe es nicht...

cu
Henry


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-11 Diskussionsfäden Henry Loenwind
Frederik Ramm wrote:

> Ich hab einen Kommentar rein geschrieben. Komme in letzter Zeit nicht so 
> dazu, trac genau zu verfolgen, daher danke fuer den Hinweis.

Ich glaub ich werd wahnsinnig. Wenn ich:

g.drawLine(old.x, old.y, screen.x, screen.y);

zu:

g.drawLine(old.x+2, old.y+2, screen.x, screen.y);

ändere, dauert das ganze painten nur noch ca 1/15tel der Zeit. Häh??? 
Was soll das? Irgendjemand eine Ahnung?

cu
Henry

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-11 Diskussionsfäden Frederik Ramm
Hallo,

> Hast Du Dir eigentlich mal #720 (josm.gui.layer.GpxLayer paint) 
> angeschaut? Wäre die Annahme so richtig?  Wenn ja, würde ich da nen 
> richtigen Patch draus machen, hat sich in der Gegend ja auch was getan 
> inzwischen.

Ich hab einen Kommentar rein geschrieben. Komme in letzter Zeit nicht so 
dazu, trac genau zu verfolgen, daher danke fuer den Hinweis.

Bye
Frederik

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-11 Diskussionsfäden Henry Loenwind
Frederik Ramm wrote:

> Eingebaut, danke. (Der 733 geht so nicht, beim Aufruf von
...

Hast Du Dir eigentlich mal #720 (josm.gui.layer.GpxLayer paint) 
angeschaut? Wäre die Annahme so richtig?  Wenn ja, würde ich da nen 
richtigen Patch draus machen, hat sich in der Gegend ja auch was getan 
inzwischen.

cu
Henry

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-11 Diskussionsfäden Wolfgang Silbermayr
>> Das Problem liegt einerseits darin, dass *alle* gefüllten Polygone 
>> gezeichnet werden, nicht nur die sichtbaren.
> 
> Ja, das ist ein grosser Murks; alle Objekte sollten irgendwie eine
> Bounding Box haben, damit man schnell sehen kann, welche ueberhaupt
> angefasst werden muessen.

Also meine Versuche haben gezeigt dass die ausserhalb des sichtbaren
Bereichs liegenden Polygone in der Grössenordnung unter 1ms liegen, das
dürfte erstmal kein grosses Problem darstellen.

> Wenn das mit der Transparenz alles nichts gescheites ist, dann
> koennten wir mal probieren, ob es nicht fast besser ist, an den Kanten
> von Polygonen solche kleinen Schraffuren nach innen hin einzumalen:
> 
> 
> 
> Es koennte sein, dass das schneller geht und sogar noch
> uebersichtlicher waere, kaeme aber echt auf 'nen Versuch an.

Die Idee gefällt mir, wäre auf jeden Fall einen Versuch wert.

Lg, Wolfgang.

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-05-10 Diskussionsfäden Frederik Ramm
Hallo,

> Ich habe unter http://josm.openstreetmap.de/ticket/685 einen Patch 
> angehängt, der die Performance etwas verbessert.
> 
> Unter http://josm.openstreetmap.de/ticket/734 und 
> http://josm.openstreetmap.de/ticket/733 sind weitere Vorschläge zur 
> Performance-Verbesserung.

Eingebaut, danke. (Der 733 geht so nicht, beim Aufruf von
displaySegments geht es darum, die bislang angesammelten Segmente
auszugeben, sobald sich der Zeichenstil aendert, und das ist
unabhaengig davon, ob die aktuelle Position selbst visible ist oder
nicht.)

> Das Problem liegt einerseits darin, dass *alle* gefüllten Polygone 
> gezeichnet werden, nicht nur die sichtbaren.

Ja, das ist ein grosser Murks; alle Objekte sollten irgendwie eine
Bounding Box haben, damit man schnell sehen kann, welche ueberhaupt
angefasst werden muessen.

> Wie machen es denn andere Renderer, wissen die, dass z.B. park=leisure erst 
> gerendert werden muss und rendern dann building=yes drüber? Dann bräuchte 
> man keine Transparenz und das Zeichnen der Polygone wäre sehr schnell.

Ja, aber das huelfe uns wenig, denn weil wir ja ein Editor sind und
kein Renderer, wollen wir im Zeifel schon sehen, dass da noch Objekte
unter dem Park liegen...

Wenn das mit der Transparenz alles nichts gescheites ist, dann
koennten wir mal probieren, ob es nicht fast besser ist, an den Kanten
von Polygonen solche kleinen Schraffuren nach innen hin einzumalen:



Es koennte sein, dass das schneller geht und sogar noch
uebersichtlicher waere, kaeme aber echt auf 'nen Versuch an.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail [EMAIL PROTECTED]  ##  N49°00'09" E008°23'33"


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-04-28 Diskussionsfäden Thomas Hieber
Wolfgang Silbermayr schrieb:
> 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.
>   
Ich bin ja bestimmt kein JAVA Spezialist - daher kann das natürlich auch 
Blödsinn sein, den ich schreibe, aber ich meine mich zu erinnern, das 
Eclipse ein eigenes Grafikframework für die GUI geschrieben hat, da die 
normalen JAVA Klassen zu langsam waren. Dieses Eclipse GUI Framework ist 
meines Wissens auf den wichtigsten Plattformen als native Implementation 
verfügbar. Evtl. wäre das ja einen Blick wert.
Eine andere Alternative wäre OpenGL für die Darstellung zu nutzen (Falls 
unter JAVA verfügbar). Das ist auch Plattfromunabhängig, und das 
Zeichnen eines ausgefüllten Polygons mit teilweiser Transparenz ist für 
OpenGL eher eine Sache von Millisekunden als von Sekunden.
Und so als Nebeneffekt wäre es auch möglich eine deutlich ansprechendere 
Darstellung der Karte erreichen, indem auch Linien als texturierte 
Polygone dargestellt würden. (Um z.B. eine Linie noch eine dunkle 
Umrandung zu geben.)

Gruß,
Thomas

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-04-28 Diskussionsfäden Wolfgang Silbermayr
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


Re: [Talk-de] JOSM - langsam bei ausgefüllten Polygo nen?

2008-04-27 Diskussionsfäden Frederik Ramm
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. 

Ich hatte da mal einige Ueberlegungen angestellt, bin aber nie dazu
gekommen, die umzusetzen. Vielleicht wird es ja mal irgendwann was.
Aber wenn sich bis dahin jemand anders drum gekuemmert hat, bin ich
nicht boese.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail [EMAIL PROTECTED]  ##  N49°00'09" E008°23'33"


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de