Hi All, Before the clash with Marcus Bauer and the forking of FoxtrotGPS I had worked on improving the graphics routines. These improvements were coded against Tango 0.99.2 and were noticably faster on my freerunner, although some regressions were still present. My patches were never reviewed or merged, and instead Marcus implemented another (more crude IMO) caching mechanism and released 0.99.3, from which FoxtrotGPS was forked. So in the past weeks I have worked on rebasing my patches against the FoxtrotGPS code base.
I have put online a bazaar branch at http://www.outrightsolutions.nl/~sander/foxtrotgps/paint-optimize So far I have only merged half of my patches. Since I want to iron out all regressions before going further, I decided to not optimize too many things too soon, so the branch right now only contains the groundwork. I think it isn't faster yet than trunk, but it shouldn't be slower either. Also some rendering glitches from trunk are fixed, but possibly new ones are introduced. What has been done? - I separated the backing pixmap from the view. This has many advantages. Old TangoGPS had to redraw the entire backing pixmap after each drag/map move. Also when dragging down+right you see immediately white background appearing in the top left. - Now with the separation of the backing pixmap, only a (partial) redraw is needed when the view rolls over to a new tile column or row. - Dragging the map now shows less often the ugly white background. Right now the 'overscan' is 1 tile, but that can be changed later to preload even more overscan, memory permitting. Things still to do - Asynchronously painting on the backing pixmap (e.g. while downloading tiles, they get rendered as soon as they arrive). This can make the UI more responsive, and feel more like a webbrowser does for maps. - optimize rerendering of individual tiles on the backing pixmap, instead of the whole pixmap. Especially with tracks loaded with may points, or many friends visible on the screen this can have nice speedups. - improve rendering of 'overlays'. they don't like to be drawn on top of eachother. If you are able & willing, please compile & test! Feedback very welcome! grtz, Sander _______________________________________________ This message is sent to you from [email protected] mailing list. Visit http://lists.osgeo.org/mailman/listinfo/foss-gps to manage your subscription For more information, check http://wiki.osgeo.org/wiki/FOSS-GPS
