Register  |  Login
ThinkGeo - GPS Tracking and Mapping Solutions  |  Visit the Wiki  |  Find us on: Twitter Facebook Google+ LinkedIn

Discussion Forums

The online community for users of Map Suite GIS components

Performance Problem
Last Post 04-24-2012 04:29 PM by Ryan. 5 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
ahmedUser is Offline
Level 1
Level 1
Posts:15
Avatar

--
04-19-2012 06:42 AM

I am facing a big problem regarding the performance of think geo Map Suite Pocket PC, the process takes about 5 min to add 6 shp files with total size of 7mb and about 1 min to perform any action (zoom in - zoom out - pan). I have been able to reduce the time by building an index, setting thresholds and current extents but still the performance is bad it takes 3 min rendering and about 30 sec for any other action. Is there anything else that can be done to enhance the performance any further?

Any help will be really appreciated and thanks in advance for any help



RyanUser is Offline
ThinkGeo Support
MVP
MVP
Posts:837
Avatar

--
04-19-2012 02:53 PM
Hi ahmed,

You should have a seperate spatial index setup for each of your shapefiles. The way that your post read it seems like you might only have one spatial index?

You might setup some Layer.ShapeRenderTime and Layer.LabelRenderTime counters to help determine if there is a specific layer that is causing the delay and if the issue is related to the number of shapes drawn, or the number of labels drawn.

Some of the issue could be with the amount of data you need to display, the speed of the processor within your Pocket PC device, and how quickly the data can be read from the device's storage. Pocket PC devices are normally a low performance device so you may need to be more decisive about how much information you are displaying on the map at a given time. One restriction I have seen cause large difference is rendering times is when you allow labels to be drawn. A Layer setup with a LabelRender that allows for hundreds of labels to be drawn in the current map extent can really slow down an application. Save adding your labels to the map until you are zoomed in closer and you should see a performance increase.


Need to know how to do something with Map Suite? Check our Wiki Code Samples Library and view the source code of any sample right in your web browser.

ahmedUser is Offline
Level 1
Level 1
Posts:15
Avatar

--
04-23-2012 07:04 AM

 Dear Ryan

Thanks for your fast reply. First of all, I had already built an index for each shp file not only one. Second, I have tried what you have suggested by using the Layer.ShapeRenderTime and Layer.LabelRenderTime to determine which layer cuses the delay but I found something strange, when I tried to render a single layer only the ShapeRenderTime was equal 12.4 sec but when i tried to render the same layer along with 5 other the ShapeRenderTime for the same layer was 187.69 sec which is something strange since it is the same layer it should has the same render time the same goes for the other layers the render time differ if they are rendered alone or together. 

 

I dont realy undersatnd the issue here, so any help will be appreciated

 

Best Regards...

Ahmed Mohammed Taha



RyanUser is Offline
ThinkGeo Support
MVP
MVP
Posts:837
Avatar

--
04-23-2012 05:53 PM
Ahmed,

I would put more value on comparing the ShapeRenderTimes of each layer.
For example:
Add all your layers to the map and the compare the render times of the layers. Is there one layer or a couple of layers that have much higher RenderTimes than the others?

Did you try the LabelRenderTime as well?

Approximately how many record/shapes are in your shapefiles and how many would you estimate you are showing on the map at a time?
Also what are the hardware specs on your Pocket PC device?


Need to know how to do something with Map Suite? Check our Wiki Code Samples Library and view the source code of any sample right in your web browser.

ahmedUser is Offline
Level 1
Level 1
Posts:15
Avatar

--
04-24-2012 05:01 AM

There are three layers that has  ShapeRenderTimes  above 350 sec and the others shows  0 sec.

I have tried the LabelRenderTime but for all of the layers it was about 0.05sec 

The number of records differs alot from a layer to another, one layer has about 20585 record, 2 layers has about 5000 record and the other has about 10 shapes, the strange thing is that there is a layer which contain no records at all but it takes 283.253 secs to render which is something unreasonable.

Another weird issue is that any layer that in not polygon shows ShapeRenderTimes of 0 sec I dont know why.

As a sum up I have attached a txt file containing the summry of the previous data for all layers

And for the device specs it is an Intermic CN 50:

RAM Memory: 256 MB RAM (approx 150MB available for user applications)
Flash ROM: 512 MB Flash (approx 350 MB free for user applications) 
PROCESSOR: Main Processor ARM 11 @ 528MHz
OS: Windows Mobile 6.1, and Windows Embedded Handheld 6.5

 


Sum.txt

RyanUser is Offline
ThinkGeo Support
MVP
MVP
Posts:837
Avatar

--
04-24-2012 04:29 PM

Hi Ahmed,

My first question is why load a layer that has zero records? I am not sure why this shapefile would take so long to 'render' but what is the purpose of loading a file with no data? Do you mean to say that the layer with zero records has no records in the shapefile's DBF? The shapefile could still have vector records, and not have any additional data for those records stored in the DBF. The DBF of a shapefile is used to store additional data, such as labels for the vector records of a shapefile.
I would recommend loading the shapefile with zero records into Map Suite Explorer, our free shapefile viewer included with the Map Suite Desktop or Web Editions. You will have to download the Map Suite Desktop Evaluation 5.5 version of the Desktop Edition from the Free Trial Downloads section of this site.
Here are the steps you need to follow to get Map Suite Explorer on your computer:

  1. Login to the Map Suite Web Site by clicking on Login in the upper right corner of this page.
  2. Go to PRODUCTS - Map Suite Free Trial Downloads and download and install the Map Suite Desktop Evaluation Edition.
  3. Then go to Start - All Programs - ThinkGeo - Map Suite Desktop 5.5 Evaluation Edition - Map Suite Explorer.

When you load your shapefile do not allow Map Suite Explorer create Spatial Index files for your shapefile. These Spatial Indexes will not work with the Pocket PC 2.0 Edition.

When you load your shapefile into Map Suite Explorer you will be able to see if there are vector records for this shapefile. If there are none then I would not load this shapefile as it does not contain any value.

Another element to the rendering times is how many of these records is the map control drawing when you measured these times? You stated in your original question that you setup thresholds, but do when you timed the rendering of these layers are you zoomed out to a very large extent where all of these records need to be drawn?

Using Thresholds you should be able to logically reduce the number of records rendered as you zoom out on the map.

Remember that you are working with a low power single core 528MHz processor so you may need to restrict the detail of the data you are displaying when zoom out to large map extents in order to make reduce the drawing time of all those records. For an example of how to use thresholds to logically add data to the map as you zoom in see the StreetMapApp included with the Pocket PC C# Sample Applications. You will see that the Layers with the most detail are setup to display only as the user is zooming into smaller extents of the map.

Although all of the above information is important to consider we do have a later development build of Pocket PC that has memory leak fixes and a change to some of the drawing methods that other users have seen decrease their drawing times. I can provide these, but only through our Customer Portal. You will need to login to http://helpdesk.thinkgeo.com and create a ticket to receive this build.



Need to know how to do something with Map Suite? Check our Wiki Code Samples Library and view the source code of any sample right in your web browser.

You are not authorized to post a reply.

Active Forums 4.2