Very Low Performance of RadGrid vs. ASP Grid

2 posts, 0 answers
  1. archimede
    archimede avatar
    103 posts
    Member since:
    Jul 2006

    Posted 29 Jun 2010 Link to this post

    In my web application I'm using ObjectDataSource and Entity Framework to access data. I've tryed to display the same data on ASP Grid and RadGrid.

    The time needed to load a RadGrid is two time the time needed by an ASP Grid. Even if it's smart, I cannot wait 5 seconds or more to load a Telerik RadGrid!!! I've enabled paging of 25 items on both grids. The Grid are relatively simple with no skin.

    Below there's the RadGrid:

    <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True"   
            DataSourceID="ObjectDataSourceInterventi" EnableViewState="False"   
            GridLines="None" PageSize="25" EnableAjaxSkinRendering="False"   
            EnableEmbeddedScripts="False" EnableEmbeddedSkins="False" Skin="">  
            <ClientSettings AllowAutoScrollOnDragDrop="False" AllowExpandCollapse="False"   
                AllowGroupExpandCollapse="False">  
                <Selecting EnableDragToSelectRows="False" />  
                <Scrolling SaveScrollPosition="False" />  
                <Resizing ClipCellContentOnResize="False" />  
            </ClientSettings>  
    <MasterTableView autogeneratecolumns="False" datasourceid="ObjectDataSourceInterventi"   
                enableviewstate="False">  
        <CommandItemSettings AddNewRecordImageUrl="AddRecord.gif"   
            ExportToCsvImageUrl="ExportToCsv.gif" ExportToExcelImageUrl="ExportToExcel.gif"   
            ExportToPdfImageUrl="ExportToPdf.gif" ExportToWordImageUrl="ExportToWord.gif"   
            RefreshImageUrl="Refresh.gif" />  
    <RowIndicatorColumn FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
            SortDescImageUrl="SortDesc.gif">  
    </RowIndicatorColumn>  
     
    <ExpandCollapseColumn CollapseImageUrl="SingleMinus.gif"   
            ExpandImageUrl="SinglePlus.gif" FilterImageUrl="Filter.gif"   
            SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
    </ExpandCollapseColumn>  
        <Columns>  
            <telerik:GridBoundColumn DataField="IdIntervento" DataType="System.Int64"   
                HeaderText="IdIntervento" SortExpression="IdIntervento"   
                UniqueName="IdIntervento" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdAzienda" DataType="System.Int64"   
                HeaderText="IdAzienda" SortExpression="IdAzienda" UniqueName="IdAzienda"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="ChiamataN" DataType="System.Int64"   
                HeaderText="ChiamataN" SortExpression="ChiamataN" UniqueName="ChiamataN"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="Anno" DataType="System.Int16"   
                HeaderText="Anno" SortExpression="Anno" UniqueName="Anno"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdBene" DataType="System.Int64"   
                HeaderText="IdBene" SortExpression="IdBene" UniqueName="IdBene"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="CodiceSAP" HeaderText="CodiceSAP"   
                SortExpression="CodiceSAP" UniqueName="CodiceSAP"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="PostoLavoro" HeaderText="PostoLavoro"   
                SortExpression="PostoLavoro" UniqueName="PostoLavoro"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdReparto" DataType="System.Int64"   
                HeaderText="IdReparto" SortExpression="IdReparto" UniqueName="IdReparto"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdLinea" DataType="System.Int64"   
                HeaderText="IdLinea" SortExpression="IdLinea" UniqueName="IdLinea"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdStabilimento" DataType="System.Int64"   
                HeaderText="IdStabilimento" SortExpression="IdStabilimento"   
                UniqueName="IdStabilimento" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="DataChiamata" DataType="System.DateTime"   
                HeaderText="DataChiamata" SortExpression="DataChiamata"   
                UniqueName="DataChiamata" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="OraChiamata" DataType="System.TimeSpan"   
                HeaderText="OraChiamata" SortExpression="OraChiamata"   
                UniqueName="OraChiamata" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdRichiedente" DataType="System.Int64"   
                HeaderText="IdRichiedente" SortExpression="IdRichiedente"   
                UniqueName="IdRichiedente" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdStatoChiamata" DataType="System.Int64"   
                HeaderText="IdStatoChiamata" SortExpression="IdStatoChiamata"   
                UniqueName="IdStatoChiamata" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdCategoriaInt" DataType="System.Int64"   
                HeaderText="IdCategoriaInt" SortExpression="IdCategoriaInt"   
                UniqueName="IdCategoriaInt" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdSpecializzazione" DataType="System.Int64"   
                HeaderText="IdSpecializzazione" SortExpression="IdSpecializzazione"   
                UniqueName="IdSpecializzazione" FilterImageUrl="Filter.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdStatoOperativoMacc"   
                DataType="System.Int64" HeaderText="IdStatoOperativoMacc"   
                SortExpression="IdStatoOperativoMacc" UniqueName="IdStatoOperativoMacc"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdUrgenza" DataType="System.Int64"   
                HeaderText="IdUrgenza" SortExpression="IdUrgenza" UniqueName="IdUrgenza"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="DataUrgenzaEntroIl"   
                DataType="System.DateTime" HeaderText="DataUrgenzaEntroIl"   
                SortExpression="DataUrgenzaEntroIl" UniqueName="DataUrgenzaEntroIl"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdCdc" DataType="System.Int64"   
                HeaderText="IdCdc" SortExpression="IdCdc" UniqueName="IdCdc"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
            <telerik:GridBoundColumn DataField="IdAllarme" DataType="System.Int64"   
                HeaderText="IdAllarme" SortExpression="IdAllarme" UniqueName="IdAllarme"   
                FilterImageUrl="Filter.gif" SortAscImageUrl="SortAsc.gif"   
                SortDescImageUrl="SortDesc.gif">  
            </telerik:GridBoundColumn>  
        </Columns>  
        <EditFormSettings>  
            <EditColumn CancelImageUrl="Cancel.gif" EditImageUrl="Edit.gif"   
                FilterImageUrl="Filter.gif" InsertImageUrl="Update.gif"   
                SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"   
                UpdateImageUrl="Update.gif">  
            </EditColumn>  
        </EditFormSettings>  
        <PagerStyle FirstPageImageUrl="PagingFirst.gif"   
            LastPageImageUrl="PagingLast.gif" NextPageImageUrl="PagingNext.gif"   
            PrevPageImageUrl="PagingPrev.gif" />  
    </MasterTableView>  
            <PagerStyle FirstPageImageUrl="PagingFirst.gif"   
                LastPageImageUrl="PagingLast.gif" NextPageImageUrl="PagingNext.gif"   
                PrevPageImageUrl="PagingPrev.gif" />  
        </telerik:RadGrid> 

    What can I do to improve the radgrid performance?
  2. Pavlina
    Admin
    Pavlina avatar
    6084 posts

    Posted 02 Jul 2010 Link to this post

    Hello Archimede,

    Basically, making a comparison between RadGrid and the default GridView control is not applicable, since RadGrid has many advanced features, and client side functionalities, which cater for a huge array of scenarios, but in some cases cause a performance drag.   Basically, the performance of RadGrid is affected by:
    1. The number of records rendered
    2. The number of columns
    3. Any functionalities such as grouping, scrolling, filtering
    4. Any client side scripts and functions
    5. Any styles applied - images/css classes

    Usually, limiting the number of rows/columns has the most impact on the performance. I suggest that you go through the following help link which explains about tips to optimize RadGrid performance.
    Client/server grid performance optimizations

    You can also consider ajaxifying your grid to improve performance as described in the following help link.
    Working with the AJAX mode

    I hope this helps.

    Kind regards,

    Pavlina
    the Telerik team

     

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top