[weekly report] week 4: Local map rendering in Libchamplain



Hi,

I extended my local-map-source-prototype with a thread pool for
rendering. Threads improved the responsivity a lot, especially on my
weak (single core) laptop. The prototype uses at most four threads and
draws tiles of 512x512 px (no caching). I haven't planned to spend any
additional development time on the prototype. If you want to try it,
checkout the branch 'local-rendering-prototype'.

Pierre-Luc and I discussed the class hierarchy of the new map sources.
We decided to create one new map source called
ChamplainMemphisMapSource, which does the rendering. This class is a
client of an abstract map data source (ChamplainMapDataSource). I will
implement two map data sources: ChamplainLocalMapDataSource (uses local
XML data) and ChamplainNetworkMapDataSource (uses the OSM API). All
future work is done in the branch 'local-rendering'. This week, the
'local-rendering' branch will get at least the features of the prototype.

git shortlog (local-rendering-prototype branch)
      Merge renderer.c and renderer.h into memphis-renderer.c
      Add a thread pool for rendering to make it more responsive
      sync to libmemphis rev 117 (less non-glib functions and no more
zoom_level)
      remove the local map source prototype from the map factory
      make API changes in local renderer demo, add missing bracket
      bigger (512px) tiles seem to work better on weak systems

git shortlog (local-rendering branch)
      Add libmemphis revision 118
      Add libmemphis to the build system
      Add the interfaces of ChamplainMapDataSource and
ChamplainMemphisMapSource
      implement ChamplainMapDataSource
      Initial implementation of MemphisMapSource
      Add champlain_map_data_source_get_* functions

Cheers,
Simon



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]