Downgrade in scrolling performance between versions with DataGridTemplateColumn

In my actual project, when we started working, we were on version 30.2.7. We didn't upgrade because there was no need to. We now have a reason to upgrade, but we noticed that are data grid performance in the scrolling aspect has worsened, by a lot. As in, the app is no longer usable. 

The root cause of the performance issue is 
DataGridTemplateColumn, if they have even just a bit of visual elements in them, it causes lag spikes when scrolling fast. I understand template columns are not as optimized as regular ones, but my issue is the decrease in performance between versions. We tried optimizing are data columns, but it is not enough.

Using the datgrid sample, I upped the row amount to 80 and added this column to the datagrid :

<syncfusion:DataGridTemplateColumn MappingName="Icon">

    <syncfusion:DataGridTemplateColumn.CellTemplate>

        <DataTemplate>

            <HorizontalStackLayout HorizontalOptions="Fill">

                <Ellipse BackgroundColor="Green" />

                <Ellipse BackgroundColor="Red" />

                <Ellipse BackgroundColor="Blue" />

                <Ellipse BackgroundColor="Orange" />

                <Ellipse BackgroundColor="Yellow" />

                <Ellipse BackgroundColor="Pink" />

                <Ellipse BackgroundColor="Purple" />

                <Ellipse BackgroundColor="Purple" />

                <Ellipse BackgroundColor="Purple" />

                <Ellipse BackgroundColor="Purple" />

            </HorizontalStackLayout>

        </DataTemplate>

    </syncfusion:DataGridTemplateColumn.CellTemplate>

</syncfusion:DataGridTemplateColumn>

The lag is presented with also only 5 ellipses; I added more just to make it more obvious. 

To test it, you can change the datagrid version between 32.1.20 and 30.2.7. 



5 Replies

MM Muthukumar Madasamy Syncfusion Team December 26, 2025 01:50 PM UTC

Hi,
We have checked the reported scenario on our end by testing with 80+ rows and 10 ellipses in a DataGridTemplateColumn, and we did not notice any lag or scrolling performance issues in Release mode. Also, there have been no changes related to template columns between the mentioned versions.

To investigate further, could you please share a simple runnable sample that replicates the issue. This will help us analyze the exact cause and provide a proper solution.
Looking forward to your sample.

Best Regards,
Muthu Kumar Madasamy.


HA Haywired December 29, 2025 02:39 PM UTC

Attached the sample to this replay.
A bit more information:
The lag is felt in both debug and release. Only tested on windows. The most lag is felt when scrolling quickly, but even regular scrolling feels a bit laggy. My PC specs should not be an issue normally. 


Attachment: SlowDataGrid_d0879627.zip



MM Muthukumar Madasamy Syncfusion Team December 30, 2025 11:43 AM UTC

Hi Haywired,
We are currently validating the issue on our end. We need two more working days to validate properly on our end. We will update you with further details on or before Jan 02, 2026. We appreciate your patience until then.
Best Regards,
Muthu Kumar Madasamy.




MM Muthukumar Madasamy Syncfusion Team January 2, 2026 01:20 PM UTC

Hi Haywired,
Thank you for sharing the sample and additional details. We were able to replicate the reported scrolling performance issue with DataGridTemplateColumn on Windows when using multiple visual elements. This is a known issue, and we have already fixed it internally. The fix will be included in our upcoming weekly NuGet release scheduled for January 06, 2026.
Temporary Workaround:
Until the official fix is available, you can improve performance by using a custom renderer for template columns and enabling asynchronous scrolling:
1. Apply Custom Template Renderer

public DataGridFeatures()
{
    InitializeComponent();
    dataGrid.CellRenderers["Template"] = new CustomDataGridTemplateRenderer();
}

public class CustomDataGridTemplateRenderer : DataGridCellTemplateRenderer
{
    protected override DataGridCell? OnPrepareViews(DataColumnBase dataColumn)
    {
        var cell = base.OnPrepareViews(dataColumn);

        View? content = null;

        if (dataColumn.DataGridColumn?.CellTemplate is DataTemplateSelector templateSelector)
        {
            DataTemplate? selectedTemplate = templateSelector.SelectTemplate(dataColumn.RowData, dataColumn.DataGridColumn);
            if (selectedTemplate != null)
            {
                content = selectedTemplate.CreateContent() as View;
            }
        }
        else if (dataColumn.DataGridColumn?.CellTemplate is DataTemplate template)
        {
            content = template.CreateContent() as View;
        }

        if (cell != null && content != null)
            cell.Content = content;

        return cell;
    }

    public override bool CanUpdateBinding(DataColumnBase dataColumnBase)
    {
        return false;
    }
}

2. Enable Asynchronous Scrolling (Windows Only)
Add the following property to your DataGrid:
<syncfusion:SfDataGrid AllowAsyncScrolling="True" />

This will significantly improve scrolling performance on Windows. For more details, please refer to our documentation:
We appreciate your patience and understanding. Please try the workaround and let us know if it improves the performance on your end. We will notify you once the official fix is released.
Best Regards,
Muthu Kumar Madasamy.


MM Muthukumar Madasamy Syncfusion Team January 6, 2026 07:33 AM UTC

Hi Haywired,

We are glad to inform you that the reported issue has been resolved. This fix has been incorporated into our latest weekly NuGet release. To benefit from this fix, we recommend updating your SfDataGrid package to version 32.1.22.


We thank you for your support and appreciate your patience in waiting for this update. Please get in touch with us if you require any further assistance.

Best Regards,
Muthu Kumar Madasamy.

Loader.
Up arrow icon