Rendering too slow on information layer control.

6 posts, 0 answers
  1. Leopoldo
    Leopoldo avatar
    2 posts
    Member since:
    May 2011

    Posted 23 Jan 2012 Link to this post

    We have arround 3,000 items on our map information layer. But the rendering is too slow and freeze the app for few seconds.How can we get a better performance or a faster rendering.
  2. Andrey
    Admin
    Andrey avatar
    1681 posts

    Posted 26 Jan 2012 Link to this post

    Hi Leopoldo,

    To get a better performance you can use a simple figure like rectangle or ellipse as an item. Also if the performance is very critical issue for you application than using of spring animation for zooming and panning, then I would recommend to set the UseSpringAnimations property of RadMap to "false", i.e. to disable it. The sample code is below.
    <telerik:RadMap x:Name="radMap" UseSpringAnimations="False">
        <telerik:InformationLayer x:Name="informationLayer" ItemsSource="{Binding ItemsCollection}">
            <telerik:InformationLayer.ItemTemplate>
                <DataTemplate>
                    <Rectangle telerik:MapLayer.Location="{Binding Location}" Width="10" Height="10" Fill="Red"/>
                </DataTemplate>
            </telerik:InformationLayer.ItemTemplate>
        </telerik:InformationLayer>
    </telerik:RadMap>

    Kind regards,
    Andrey Murzov
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

  3. DevCraft banner
  4. Leopoldo
    Leopoldo avatar
    2 posts
    Member since:
    May 2011

    Posted 26 Jan 2012 Link to this post

    Hi Andrey;

    We changed the UseSpringAnimations property  and use a simple figure but the 3000 points still rendering very slow. The information layer get the points coordinates from a database table .  Is a simple query, and the database and the service response very fast, but the rendering is too slow.  Any other option?
  5. Andrey
    Admin
    Andrey avatar
    1681 posts

    Posted 31 Jan 2012 Link to this post

    Hello Leopoldo,

    We have checked the performance of rendering with 3000 points using a simple template. It works OK.
    It looks like you meant the initial loading of points on the map. Unfortunately we can't improve the performance of this process. But if you shouldn't show all points on the map after loading, then you can use the dynamic layer for loading points according to zoom level and region.
    Please take a look the Using Dynamic Layer topic of our documentation and the Items Virtualization example.
    http://www.telerik.com/help/silverlight/radmap-features-dynamic-layer.html
    http://demos.telerik.com/silverlight/#Map/DynamicLayer

    Kind regards,
    Andrey Murzov
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

  6. Was
    Was avatar
    16 posts
    Member since:
    Dec 2012

    Posted 31 Jan 2014 in reply to Andrey Link to this post

    How much InformationLayers can have a Map when i show about a thousand items? i need more than one.
    Please don't offer dynamicLayer, because user wants to see the full picture.
    When i set UseSpringAnimations = false, i lose items in some ZoomLevels from InformationLayer, they just disappear. Seems like there is some rendering error. So please tell me, what is the max count of InformationLayers in this case?
    It seems too, that sometimes, when i change map zoomlevel, the center of one layer differs from another.
  7. Andrey
    Admin
    Andrey avatar
    1681 posts

    Posted 04 Feb 2014 Link to this post

    Hi Was,

    There are 2 visualization engines in the RadMap package.  The old implementation of the map objects' (points and shapes) visualization consists of 3 layers: InformationLayer, DynamicLayer and VirtualizationLayer. This visualization engine, however, lacks certain features and has a few performance issues. This is why with the Q2 2013 release we introduced a new visualization engine in the RadMap. It has been designed from scratch to have better performance. The new visualization engine replaces all 3 layers with the new VisualizationLayer. The major goals of the new engine are:

    1. Improve the performance of the data visualization.
    2. Allow reading map shapes from different sources (KML, ESRI, and SQL Geospatial) in the background thread.
    3. Integrating clustering and items virtualization into the core. This simplifies the usage of both features.
    4. Ability to attach/detach almost any input event available for the FrameworkElement to the map shape visualization.
    5. Support of items selection in the engine core.

    Having this information in mind, I would recommend using the new engine (and its VisualizationLayer) instead of old one (or the InformationLayer).

    Also, you can use any number of layers, but note that each additional layer will reduce the performance of the Silverlight rendering engine. This is why I wouldn't recommend using a layer for each element which will be displayed on a map.

    Regards,
    Andrey Murzov
    Telerik

    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.

    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.

    Sign up for Free application insights >>
Back to Top
DevCraft banner