POST
|
Hi, We have a service that runs as a WCF REST service, and is responsible for exporting map images based on the requested extent. For this we use the MapDocument class, and use ActiveView.Output to perform the export operation. ActiveView.Activate(hwnd) receives a pointer to GetDesktopWindow after the document is opened. One of our customers randomly experience an AccessViolationException, where the last part of the stack trace is ESRI.ArcGIS.Carto.IActiveView.Output(Int32, Int32, ESRI.ArcGIS.esriSystem.tagRECT ByRef, ESRI.ArcGIS.Geometry.IEnvelope, ESRI.ArcGIS.esriSystem.ITrackCancel). We pass in a handle to a bitmap for the output operation. There is one occurence where this happens at ESRI.ArcGIS.Carto.IFeatureLayer.get_TipText(Double, Double, Double). The customer is not able to reproduce this reliably, and we are not able to reproduce locally. We have also gone through logs from other customers, and have found no trend on this kind of error at other locations, except for sporadic occurences with months apart. With the particular client in question, they experience it daily. I'm wondering if it could be in some way related to the graphics card. The graphics card has not replaced. All computers have the same card and drivers. NVIDIA NVS 300, with driver version 9.18.13.593. Thought this has "only" been going on for two months, and based on Windows Eventviewer, there are no occurences of this before that. No changes have been made to the graphics card. The service is compiled as x86, using C# and .NET Framework 4.0. I don't know to what extent the graphics card and/or drivers are involved in the export process, and to what degree it is used by GDI+, which I presume is used behind the scenes. Are there alternatives to activating the ActiveView in a background process, rather than GetDesktopWindow? I came across a thread related to AccessViolationException that referenced the way memory is optimized in release, that might affect this kind of thing? .net - Randomly occuring AccessViolationException in GDI+ - Stack Overflow Could that be in play here? I know this is a rather tricky exception to investigate, but I hope some help could be provided by ESRI, or others who have solved this kind of issue.
... View more
10-30-2014
08:23 AM
|
0
|
1
|
3516
|
POST
|
While you perform tiled layer clean-up, is it possible to provide virtual methods that can make it possible to cancel generation of any pending tiles when a tile is cancelled? So whenever leaving an extend when the tile is no longer relevant, I am notified that the tile is no longer pending? Assuming that touches on the changes you are doing already related to the navigation issue, of course.
... View more
10-28-2014
10:31 AM
|
0
|
0
|
487
|
POST
|
Almost live chat here I don't have an issue id for the mapscale issue, but the forum link is here https://community.esri.com/message/421680?sr=search&searchId=0e456c3e-f133-4b5e-8c1a-e98222ce723a&searchIndex=0#421680
... View more
10-28-2014
10:13 AM
|
0
|
1
|
487
|
POST
|
Hi, I was wondering when we can expect the release of version 10.2.4 of the WPF SDK. I'm waiting for a fix to a memory leak related to multiple layers with rapid navigation. I was told would be fixed in this release, as well as an issue with MapScale not being updated, which I'm also hoping will be included.
... View more
10-28-2014
09:54 AM
|
0
|
4
|
2519
|
POST
|
Is this something that might be fixed in the next release?
... View more
09-11-2014
11:56 PM
|
0
|
2
|
398
|
POST
|
Hi, Thank you for your quick response. I was already using Geometry.GetResolution(double, SpatialReference), but as you say, I already need the correct spatial reference to do that. Now that I have confirmed my suspicions, I will try to find a way to work with this. Cheers Bjørnar
... View more
07-17-2014
04:32 AM
|
0
|
0
|
535
|
POST
|
Besides making me slightly embarrassed, it works. Refreshing the layer does not overwrite the initial value I set from outside. The thing that lead me to this "problem" was that I was trying to implement MaximumScale rather than MaximumResolution, but there was some fuzzy logic that mislead me. When the layer has been initialized, I try to calculate the resolution from the scale configured by the user, but that fails as a result of SpatialReference not being available for the layer. This property is never set for my layer. Would you happen to have any suggestions on how to implement Maximum/Minimum Scale without any knowledge of anything outside of the layer? Is this something you could add in a future version? I want this to be a general implementation for all layer types, and using reflection to get the Map from the layer seems a bit dirty. I notice these properties are available for the Runtime SDK for .NET, but we haven't started using this yet, as there are still things missing, such as KML layer, among other things.
... View more
07-17-2014
04:12 AM
|
0
|
2
|
535
|
POST
|
I'm working with KmlLayer as the DataSource in Runtime SDK for WPF to allow the user to create their own content, but I have discovered that the layer sets MaximumResolution based on the graphics inside of it, which I find to be very inconvenient. Imagine displaying flight paths across parts of the country, but when zooming out beyond the features, they suddenly disappear. I would have liked it if this was a feature that could be disabled through a property.
... View more
07-15-2014
04:42 AM
|
0
|
4
|
2650
|
POST
|
No accelerated display in use, though the experience is the same as described in the release notes. I will confirm tomorrow that the experience is identical when enabling this in the sample application. I only have access to remote desktop at the moment, so it will not be the same.
... View more
05-07-2014
06:08 AM
|
0
|
0
|
479
|
POST
|
Hi, I have discovered a minor bug where the Scale property does not update (PropertyChanged) when using the ZoomTo(Geometry) method. The object I am zooming to must be outside the visible extent for this to occur. I am using Runtime SDK 10.2.2. The scale only recovers after zooming in or out. Panning does not update the Scale property Here is some code to reproduce. The map itself is not included. For the logic to work, the map must be in UTM (or some other reference system that represents a coordinate in meters). Or the logic around the extent to zoom to must be changed. <Button DockPanel.Dock="Left" Padding="8" Content="Zoom to" Click="Button_Click"/> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="20" Text="{Binding Path=Scale, StringFormat='{}{0:n}', ElementName=PART_Map}" FontSize="16" />
private void Button_Click(object sender, RoutedEventArgs e)
{
var random = new Random();
Point point = new Point(random.Next(0, (int) PART_Map.ActualWidth), random.Next(0, (int) PART_Map.ActualHeight));
point.X -= 10000;
point.Y -= 10000;
var mapPoint = PART_Map.ScreenToMap(point);
var extent = new Envelope(mapPoint, new MapPoint { X = mapPoint.X + 1000, Y = mapPoint.Y + 1000});
PART_Map.ZoomTo(extent);
}
Zoom the map all the way in, and click the button. This should calculate a random envelope a bit outside of the visible extent. The scale does not update. Zoom either in or out and see the scale does not reflect the actual scale. Zooming to a point inside the visible extent does update the scale As a side note, is there somewhere else I should post any bugs I find, rather than the forums?
... View more
05-07-2014
04:47 AM
|
0
|
3
|
2811
|
POST
|
Thank you for your reply. I haven't had time to look much deeper into this issue as I've been busy with 'Esri Incident #1270209' (related to this control) and a release. My simple sample application doesn't contain much of the application code I am experiencing the issue in, yet. Memory usage is at approximately 400MB, which I don't feel is frightening, but could of course be related. I do experience this without any graphics (or graphics layers). Hiding all layers but one still produce the same effect. I haven't had time to recreate the issue in a smaller application, as mentioned before. Will do so when I find the time. This issue is (sadly) not critical to the user, but is something that is really bugging me personally 🙂 Tile request is rather quick, and I don't see any temporarily empty tiles when panning. As mentioned, I think I see the same effect when zooming (ZoomDuration is 200ms). I am running the latest version of the SDK. If I discover the reason I will post it here. I am still open to suggestions to other reasons for this.
... View more
05-07-2014
12:15 AM
|
0
|
0
|
479
|
POST
|
When I perform a pan operation without releasing the mouse button, and continiously drag the map around, the image lags behind the cursor, and sometimes "stutters". The reason I really noticed this was that the test application for map functionality does not experience the same issue. I did discover some heavy logic in the MouseMove event that I have now disabled if the left mouse button is down. I have been unable find any other events that I have hooked up that could be causing this. ANTS Performance Profiler does not indicate anything in my code. The only heavy load it refers to is native code related to CopyPixels. I'm not sure this is a problem that is directly related to the API, and I realize the reason could be anything anywhere in my code, but I'm trying to find out if someone else has experienced the same, and how this may have been addressed. I do not use accelerated display. I tried removing all overlay on the map, such as menus and other gadgets to no avail. I also tried removing all GraphicsLayers in case these were the cause. The experience is the same as if you use AcceleratedDisplayLayer to hold the background map, and have no acceleration on the GraphicsLayers on top. The feeling then is that the objects are floating on top of the map in a very peculiar way; they do not have the same speed as the cursor and background map.
... View more
05-05-2014
01:41 AM
|
0
|
4
|
3105
|
POST
|
Using vector based maps sounds very interesting. If it could reduce the rendering time significantly, I would be very interested in that. I have started submitting ideas to ArcGIS Ideas under the category of ArcGIS Runtime
... View more
04-30-2014
09:39 AM
|
0
|
0
|
262
|
POST
|
Hi, I'm wondering if you have considered allowing for a local layer type that has .mpk as the data source, but with tiling support. When creating the package, you could define the scales in the same way as with a tiled package, or spesify the innermost scale (such as 1:625), and how many levels to use. If there is no tile for the spesific level/row/column, a tile cache is generated dynamically. This would in turn disable any dynamic features of the package, such as editing features and such, since the tiles would have different content than what has been modified. Would of course in turn need to disable changing different layer visibility, unless some clever tricks were implemented to merge the cache with the changes. I have also noticed an issue in a map package, where if I navigate the map multiple times without waiting for the map images to be generated, the requests seem to stack up, and when I stop navigating the map it takes a while to get the final image. I suspect this is because the local service is busy generating the previous extents, and since the requests go over http, there is no way to inform it to stop generating maps. I also experience the same thing in my own custom layer implementations (that do not use http), and have been wishing for an overrideable method I can implement (or cancellation token) to stop the processing of non-pending tiles/extents.
... View more
04-14-2014
08:12 AM
|
0
|
2
|
2472
|
Title | Kudos | Posted |
---|---|---|
2 | 05-09-2015 09:20 AM | |
1 | 05-09-2015 01:36 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|