Hi! After my JOSM mappaint perfomance improvements, I've put together some observations which might be interesting for future effort and fine tuning of the display.
I took a fairly large osm file and had a look at what happens if I disable/modify certain draw features. For my measurements I used the berlin.osm excerpt from the geofabrik: http://download.geofabrik.de/osm/europe/germany/berlin.osm.bz2 which is ~68MB uncompressed, large enough to get reliable timings and small enough to get it into memory. With my test all items available are shown on the screen. As the first paint call inits the style cache and is therefore ~2s slower than subsequent calls, the following timings are taken from the second call and are more or less stable with the following calls: Prepare : 0ms Relations: 109ms, calls= 790 Areas : 2203ms, calls=19368, visible=19368 Ways : 1860ms, calls=39137, visible=38297 Selected : 46ms, calls= 0 Nodes : 750ms, calls=362131, visible=362131 Virtual : 157ms, calls=58706 Segments : calls=394947, visible=394947 All : 5125ms Then I disabled several drawing features step-by-step to see the impact they have on the timings: 1) 5,1s with all features enabled 2) 4,3s (without fillAreas -> ~ 800ms) 3) 4,2s (without annotations -> ~ 100ms) 4) 4,1s (without icons -> ~ 100ms) 5) 1,5s (without using strokes -> ~2600ms) Disabling nr. 5 (which means only 1 pixel width, no dashed lines, ...) has - by far - the biggest performance impact! Conclusion Comparing the results with some experiments I've done, most of the time (>95%?) is now needed to actually draw the elements on the screen (remember: 750000 primitives in 1,5s!). Regards, ULFL Some general remarks: Any mappaint timings below 150ms will be recognized as "smooth", everything below ~500ms is pretty much ok to work with - but your milage may vary. To get any reliable timing measurements, a minimum mappaint time of > ~150ms is necessary, otherwise time jitters and alike will make the measurements a bit unpredictable! _______________________________________________ josm-dev mailing list [email protected] http://lists.openstreetmap.org/listinfo/josm-dev

