[josm-dev] GSoC: Improving the UI response time by using OpenGL.

Michael Zangl openstreetmap at michael.fam-zangl.net
Fri Aug 21 12:38:03 UTC 2015


I have finished my GSoC project. The aim was to improve the UI response
time by using OpenGL instead of Java2D for drawing.

The result of this is a plugin with which you can switch between OpenGL
and Java2D drawing.
You can get test if yourself using the binary [1].
Or by building it from source [2].

Feel free to test, report issues and give feedback.
Due to the geometry cache you might need to give JOSM some more memory
when loading big data sets.

The main goal of the plugin was to improve the performance of the map
view and the response times to user events (hover/...).
I did a comparison between the Java2D drawer and OpenGL. Java2D is
better at drawing static, complex geometries (like multipolygons with
holes). OpenGL has the great advantage of being able to re-use the
geometries it rendered in the last frame. This is why it may take longer
for the whole file you loaded to render for the first time, but moving
the map, zooming and minor changes like hovering, selecting or moving
one primitive are faster.

This plugin is intended for all people that want to work in denser areas
and are afraid to load larger datasets or zoom out because that might
slow down JOSM.

Michael Zangl

[1] https://github.com/michaelzangl/josm-plugin-opengl/releases/tag/v0.2
[2] https://github.com/michaelzangl/josm-plugin-opengl/

More information about the josm-dev mailing list