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

Reply via email to