ThinkGeo.com    |     Documentation    |     Premium Support

Compare version of thinkgeo wpf (v8 vs v9)

Hi,

I compare 2 versions of wpf thinkgeo (8.0.103.0 vs 9.0.0.271)
I have 2 applications, the only difference is the number of version of the thinkgeo dll.
Each application has 5 layers and there are the same :

  1. 1 Multigeorasterlayer.cs (ecw and tif files)
  2. 4 layers of shp/dbf

The application with 8.0.103.0 is faster than the one with the 9.0.0.271 dll ;-( when I zoom / dezoom / pan)
Is it normal ?

I have few rasters with the extension jp2 and there is a leak memory with both version of dll. When I zoom / dezoom, the memory increases and not decreases.

Thanks for your help.
Regards.

Steph.

Hi Steph,

Thanks for the information. Please check the following replies.

1. Is the version 8.0.103.0 faster than version 9.0.0.271.
I did some tests and didn’t find that the version 8.0.103.0 is faster than 9.0.0.271. Following is the screenshot shows the comparison of 8.0.103.0 and 9.0.0.271.

2. Is there a leak memory?
I used the .Net Memory Profiler to detect whether there is a memory leak issue and didn’t find the memory leaks.

Could you please provide us a sample? If the size exceeds the limitation of maximum size please contact the support@thinkgeo.com to get a FTP account.

Thanks,
Peter

Hi,

I sent you 2 projects on your FTP

  1. 20160311_thinkgeo8.zip ==> dll thinkgeo version 8
  2. 20160311thinkgeo9.zip ==> dll thinkgeo version 9

The 2 projects have the same, except the number of the version of thinkgeo.
The projet read a xml file (ListeCouchesACharger.xml) which lists all the layers to load.

There is a leak memory with jp2 files with both version.
If you want to test, you have to click on the button “Zoom to jp2 raster leak memory”, then zoom, and dezoom , pan.

The other problem is the difference of the display refresh between the V8 and V9.

For information, In the project V9 I don’t put again the shp file and raster but the organisation of this project is the same as the project V8.
You just copy SHP and RASTER repository in the repository bin\debug of the project v9

If you want more information , don’t hesitate.

Thanks.
Regards.

Hi Steph,

It seems that the 2 projects don’t upload successfully.

Could you please tell us the path where the projects uploaded, or what’s your FTP account name?

Thanks,
Peter

Hi Peter,

The FTP account name is Axereal.

Thanks.
Regards.
Steph.

Hi Steph,

Thanks for sharing the data. I did some tests and still didn’t recreate the issue and I also tested it based on the .NET Memory Profiler.
The following is the screenshots show the test results of V8 and V9

V8:

V9:

The memory increases when the map Zoom In/Out, but it decreases when we pan the map.

Any questions please let me know.

Thanks,
Peter

Hi Peter,

Thanks for your help.

If we look closer at the .net graph profiler, we can see that there is an increased memory allocation when you zoom, and there is certainly a memory release when we pan but the release is lower than the memory allocation when we zoom.
This causes a constant memory allocation when you zoom and pan several times on JP2 rasters.
And so a simple application can occupy more than 500MB just by doing zooms and pans ;-(
I sent to your ftp 2 examples (20160505_ThinkgeoV8.zip and 20160505_ThinkgeoV9) with JP2 rasters so you can observe this problem.

Thanks for your help.
Regards.
Steph

Hi Steph,

Thanks for you feedback. I was recreate this memory issue, but I need more time to find out the cause. Any updates I will keep you posted.

Thanks,
Peter

Hi Steph,

I did the further test(reference version 9.0.0.271) for this today and I think it’s not a memory leak issue. Here attached is the test sample modified from yours. My test steps as below.

  1. Run the application the memory usage is about 62M.
  2. Click the “Add” button to load the J2 raster layer and the memory usage is about 85M.
  3. Click the “Close” button to remove the J2 raster layer(after about 1min the memory would drop down to about 67M, this is because the GC Collect with unforced mode) and click the “Run GC” to collect manually then the memory usage will drop down to about 63M.

Do the step 2 ~ 3 many times, the memory usage remain at about 63M, In other words, if there is any memory leak it shouldn’t be stable for the memory usage.

In addition, I found that when I run the sample you provided and operated it as you mentioned the memory usage increase from A to a certain range B and then the memory usage dropped down from B to a certain range C after a few seconds if I didn’t do any operates. Why the value A is not equal with C I guess it may be caused by the different extents and the different image data read.

What do you think of this? or something I misunderstood, please let me know.

20160311_ThinkgeoDll8.zip (27.1 KB)

Thanks,
Peter