Tile Loading in Background

Sep 20, 2010 at 12:28 PM

Is it possible to use an async way of loading the Tiles and only render it after being loaded.

I'm using BruTile as a SharpMap Provider, so I don't know if this is a feature of BruTile or a SharpMap feature.

Right now the UI is blocked until the provider gives all the data.


Thank you


Sep 20, 2010 at 12:43 PM

BruTile itself is without threads and I think it will stay that way. In SharpMap I do use some threading to fetch multiple tiles simultaneously but the SharpMap architecture dictates a synchronous call so I had to synchronize it with a waithandle. I am rewriting SharpMap with a asynchronous architecture in a project called Mapsui, but this is work in progress and net ready for use yet.

If you depend on other SharpMap functionality too i think you should stick it. 


Sep 20, 2010 at 12:48 PM

OK, I've already donwloaded the latest sourcecode from MapsUI and I've noticed that.

Can I ask, Why aren't you working directly in SharpMap and building an Asynchronous Provider / Renderer?

I think that I can give some help with that... SharpMap is used in very diferent scenarios, so I don't want to change it.



Sep 20, 2010 at 5:24 PM

The changes are quite radical - it also has to work in Silverlight - so I did not want to do that in the SharpMap trunk. I started out in a branch on the SharpMap project (SharpMapSilverlight) but migrated because of trouble with svn externals. When this version is more stable I will try to merge it again, but the other developers need to agree on it.

Help is very welcome but in the current stage hard to realize because there are so many changes. The biggest changes are behind me now, I expect to have a more stable version at the end of this week.