ThinkGeo.com    |     Documentation    |     Premium Support

Memory Spike While Drawing

Hi guys,


I'm not sure that this is something that you guys can fix... and if not I was wondering if you had any ideas for a work around.  We notice that while we are drawing, the memory spikes while the mouse is moving, especially when its moving quickly (while drawing like a line or square or something), and then quickly goes back down to normal levels.  The problem we are seeing is that we are using this on some older machines that have only 1GB of memory, and during these spikes, we sometimes get an 'OutOfMemoryException'.  Any ideas would be appreciated.


 


Thanks,


.Ryan.



 Ryan,


 
I cannot reproduce your problem properly, I used the TrackAndEditShapes HowDoISample to test and I drew too much lines, polygons and squares, but I didn't find out any OutOfMemoryException, I check the Resource Monitor,  the memory was not increased tremendously. Please see my test result below:
 
1, Before drawing any graphics:
 

 
2, After drawing too much graphics on the map:
 

 
Also here is the map's appearance after drawing below:
 

 
You can see I drew so many graphics on the map and the memory just increased about 11M, I think that's a acceptable value, I'm not sure why it caused the OutOfMemory exception in your application,  maybe some other places caused that. If it is possible please feel free to send your sample to us so that we can track your problem properly,
 
Thanks,
 
Scott,

Hi Scott, 
  
 Its not after drawing a bunch, it is during the drawing process, even during the first item I’m drawing.  As you move your mouse (causing a redraw of your trackshape) the memory spikes… as soon as you stop moving the mouse, memory drops down to normal. 
  
 .Ryan.

 Ryan,


Sorry for the misunderstandings, I tested it again according to your description and found out when drawing any graphics, the memory increased greatly. Here is my test result below:


Before drawing:



Perform drawing process:



I found out the memory increased about 100M when drawing, I have posted this performance issue of drawing graphics to our development team, if there are any updates I will let you know,


Thanks,


Scott,



Guys,  
  
 We had a similar concern but came to the conclusion that as far as the memory consumption returns to normal (there is no memory leak), this is acceptable as I am sure ThinkGeo will always be looking at performance optimizations in subsequent releases.  Also, resource utilization will depend on the type of layer/Overlay combination you are using.  We found out that InMemoryFeatureLayers in a regular LayerOverlay consume less resources and offer better performance than the MarkerOverlays for example.

Hi Klaus, 
  
 Yes I agree, there is no memory leak… my problem is when I run on computers with less memory (1GB), the application will sometimes crash due to OutOfMemoryException.  I’m not looking for a “fix” of the spike as much as ideas as to how to deal with the exception in a way transparent to the user. 
  
 Thanks, 
  
 .Ryan.

Ryan, 
  
 I understand your situation fully, obviously, there are not any memory leak issue, but when drawing any graphics the memory increased greatly and it caused the OutOfMemoryException becase of your machine just has 1GB memory. I have added this issue to our issue tracker system and our development team will work on that, if there are any updates I will let you know, 
  
 Also thanks for Klaus’s helps on this issue, 
  
 Thanks, 
  
 Scott,