From: Helge H. <hel...@hi...> - 2009-06-29 09:41:05
|
Sybren A. Stüvel wrote: > Hi folks, > > I'll start with a small introduction. My name is Sybren, I live in > Amsterdam, and I just started using Navit on a Neo Freerunner. At the > moment I'm half way to getting a Master of Science degree in computer > science specialised in Game and Media Technology. > > When I compared TangoGPS with Navit I noticed two things: > > - Navit allows you to pre-install maps, so is much more useful. > TangoGPS downloads maps on the fly, which is only useful if you > have mobile internet and are only in areas with coverage. Kudos > to Navit. > > - TangoGPS downloads PNG files from OSM. These contain no routing > info (more kudos to Navit) but are really easy to draw on the > screen. Panning the map is therefore much smoother than with > Navit. Kudos to TangoGPS. > > I was thinking - can't we combine the strengths of the two? Could we > extend Navit's 2D map renderer to allow caching? It could even store > the cached maps as PNG files somewhere. My bet is that it could > improve drawing speeds in areas you've viewed before. This might help - sure. Other tricks: navit knows which way it is going, and can check the map ahead. Is there cached tiles up to one screen length ahead in the direction we're going? If not, pre-render them before we get there. Ought to give smoother operation when driving. Before all this, check if the rendering itself can be optimized. The freerunner does not have a floating point unit, so all floating point operations are emulated and extremely slow. I don't know how navit does it, but coordinate calculations are often done with floating point because of the range and precision required. (A road can be anywhere on the earth, with sub-meter precision.) Making an integer-only renderer alternative could be much faster than floating point code on such a cpu. Helge Hafting |