[Xastir-Dev] some ideas for map speedups
Alan Crosswell
alan at columbia.edu
Mon Jul 7 20:12:33 EDT 2003
I'm already working on the canonical DBF column handling. That's all
that awk-like stuff I posted that set Gerry off on a GML streak:-)
/a
Curt Mills, WE7U wrote:
>On Mon, 7 Jul 2003, Alan Crosswell wrote:
>
>
>
>>Wow! Sounds like Curt was real busy last weekend while I was communing with
>>nature in the Adirondacks ("Hey, pass me the can of insect repellent?" "Does
>>anybody have matches?" :-)
>>
>>I jotted down some ideas for improving vector map performance on the train this AM:
>>
>>- Insinuate an intermediate vector data structure layer between the map-specific
>>file reading functions and the map display functions (instead of directly
>>invoking X drawing functions). This then canonicalizes all vector maps to a
>>single Xastir internal data structure which captures the attributes we care about.
>>
>>- Cache these vectors into memory up to a certain configurable memory limit.
>>
>>- Sort the memory vector list by display_level: Major features that display at
>>level 8192 are earlier in the list, those that display at level 1 are last in
>>the list. When rendering, it becomes really easy to decide when to stop -- and
>>the map draws in order of feature prominence.
>>
>>- Cache 25%(?) more than the current viewport to support quick panning and
>>zooming out.
>>
>>- Use available idle cycles in a low-priority thread to continue filling out
>>around the edges of the viewport and drilling down to more detailed vectors
>>(remembering the above sorting).
>>
>>- Get really smart and use dead reckoning prediction when tracking a moving
>>station to determine what to render/cache next.
>>
>>- Potentially allow writing this cache out to disk for faster reuse and to
>>support "swapping."
>>
>>
>
>Another: For Shapefiles where we know the format, drop more
>detailed shapes as we zoom out. For instance, drop smaller creeks
>and roads. This would be a major speedup for the way I currently
>use Xastir. If the limits were set well I could leave more counties
>selected than I do now.
>
>Another: If we were to have a method for guessing the Shapefile
>format (or manually inputting more info) while indexing, we could
>specify the label column, a size column (useful for the previous
>idea), and perhaps other info. This would allow us to remove the
>"guessing" code from map_shp.c, speeding up the drawing of shapefile
>maps. It would also allow us to use shapefile maps that had the
>labels in different columns than currently expected, like road maps
>from other sources.
>
>
>
More information about the Xastir-dev
mailing list