Re: [josm-dev] License Change Plugin slows down drawing

2012-01-11 Thread Paul Hartmann
On 01/10/2012 11:23 PM, Frederik Ramm wrote:
 Hi,
 
whenver a license change layer is active and you have lots of objects
 loaded, JOSM becomes noticeably slower.
 
 I could use a little help here. Since many of you have tweaked JOSM's
 drawing performance in the past, maybe you only need to take a quick
 look at this drawing code
 
 http://trac.openstreetmap.org/browser/applications/editors/josm/plugins/licensechange/src/org/openstreetmap/josm/plugins/licensechange/LicenseProblem.java
 
 
 and you have an idea how it could be improved?

You can use QuadBuckets for the 'highlighted' collection. This helps a
lot if the user zooms in and has only few primitives in the current
viewport.

(In this case, you probably need to replace QuadBucketsT extends
OsmPrimitive by QuadBucketsT extends HasBbox and add a new
interface HasBbox.)

 The sliding window of four consecutive nodes in the visit function is
 there to determine whether linecaps need to be drawn or not.
 
 Is it the trigonometry in drawSegment? (This is more or less copied from
 similar code in the validation layer.) 

You can draw a parallel line of fixed distance without trigonometry (see
the code in MapPainter [1]), but I'm not sure this will make a big
difference. Usually, most time is not spend in JOSM code, but in the
Java libs that actually do the painting.

 Would it perhaps make sense to
 cache the buffered outline instead of computing it each time?

Shouldn't be necessary, as far as I can tell.

[1]
http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java#L271

Paul

___
josm-dev mailing list
josm-dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/josm-dev


[josm-dev] License Change Plugin slows down drawing

2012-01-10 Thread Frederik Ramm

Hi,

   whenver a license change layer is active and you have lots of 
objects loaded, JOSM becomes noticeably slower.


I could use a little help here. Since many of you have tweaked JOSM's 
drawing performance in the past, maybe you only need to take a quick 
look at this drawing code


http://trac.openstreetmap.org/browser/applications/editors/josm/plugins/licensechange/src/org/openstreetmap/josm/plugins/licensechange/LicenseProblem.java

and you have an idea how it could be improved?

The sliding window of four consecutive nodes in the visit function is 
there to determine whether linecaps need to be drawn or not.


Is it the trigonometry in drawSegment? (This is more or less copied from 
similar code in the validation layer.) Would it perhaps make sense to 
cache the buffered outline instead of computing it each time?


Bye
Frederik
--
Frederik Ramm  ##  eMail frede...@remote.org  ##  N49°00'09 E008°23'33

___
josm-dev mailing list
josm-dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/josm-dev