Home Forums WPF controls Xceed DataGrid for WPF DataGridControl in DockPanel Slow

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • User (Old forums)
    Member
    Post count: 23064
    #23012 |

    I have the DataGidControl in a dock panel with maybe 200-300 rows. and it scrolls good for 10 rows then slows way down. If I take the scrollbar and drag it all the way to the bottom I have to wait 5 seconds for the grid to catch up and repaint.
    Is this normal?
    OR
    Does having the grid in a dockpanel effect the Height Parameter and effect the virtualization?
    OR
    Is debug mode way slow?
    OR
    What else could be wrong?

    Imported from legacy forums. Posted by MiddleTommy (had 4796 views)

    User (Old forums)
    Member
    Post count: 23064

    slow is the wrong word
    more like choppy

    Imported from legacy forums. Posted by MiddleTommy (had 324 views)

    Xceed Support
    Member
    Post count: 5658

    Normal: Hard to say… I hope not 🙂

    What are you using to scroll? are you using the ScrollBar buttons? or are you using the arrow keys to move the current row around?

    DockPanel: The dock panel is normally a layout friendly panel, so unless you forced a Height, Width, MinHeight or MinWidth on either the DockPanel or one of its childs…. that shouldn’t be the issue…

    Debug Mode: we have noticed significant slowdown while debugging caused by the DataView (DataTable)… If that is your case, I advice to try running out of the debugger to see if performance is impacted significantly..

    Also, there were known performance bottlenecks on version 1.0 of the DataGridControl… Version 1.1 is due any day now, and this version was tweaked to improve several aspect of the performance (scrolling, grouping, sorting, …).

    Imported from legacy forums. Posted by Marcus [Xceed] (had 552 views)

    User (Old forums)
    Member
    Post count: 23064

    I have a large monitor 24″
    and I can easily display my 17 columns all at once, no problem.
    if I resize the window to only show 6 row scrolling via arrows, scrollbar, or mouse wheel dramatically improves.

    When I maximize the window the grid is about 17 columns by 70 rows
    this is when scrolling is a big problem.
    the arrows scroll ok
    mouse wheel is jerky after moving more than 10 rows.
    and scroll bar is at a 5-10 seconds to refresh.

    Imported from legacy forums. Posted by MiddleTommy (had 309 views)

    User (Old forums)
    Member
    Post count: 23064

    I have the exact same problem – scrolling is extremely slow when I have a couple of hundred rows and effectively makes the whole thing unusable.

    I tried setting Virtualization but it doesn’t improve the situation.

    Here is a simple example:

    <Window x:Class=”WindowsApplication6.Window1″
    xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
    xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml&#8221;
    Title=”WindowsApplication6″ Height=”300″ Width=”300″
    xmlns:xcdg=”http://schemas.xceed.com/wpf/xaml/datagrid&#8221;
    xmlns:d=”clr-namespace:System.Windows.Data;assembly=PresentationFramework”

    >
    <Grid>
    <xcdg:DataGridControl x:Name=”MainGrid” ItemsSource=”{Binding}”
    HorizontalContentAlignment=”Stretch”
    Background=”Transparent” BorderBrush=”Transparent”
    AutoCreateColumns=”True” View=”TableView.Aero.NormalColor” VirtualizingStackPanel.IsVirtualizing=”True”/>
    </Grid>
    </Window>

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Collections.ObjectModel;

    using Xceed.Wpf.DataGrid;
    using Xceed.Wpf.DataGrid.Converters;
    using Xceed.Wpf.DataGrid.ValidationRules;
    using Xceed.Wpf.DataGrid.Views;
    using Xceed.Wpf.Controls;

    using System.Globalization;

    namespace WindowsApplication6
    {
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>

    public partial class Window1 : System.Windows.Window
    {

    public Window1()
    {
    InitializeComponent();
    this.DataContext = employees;
    }

    public static LinkedList<Employee> employees
    {
    get
    {
    LinkedList<Employee> result = new LinkedList<Employee>();
    for (int i = 0; i < 1000; i++)
    {
    Employee e = new Employee();
    e.Name = “Employee ” + i;
    e.Specialty = “Specialist in ” + i;
    e.Age = i;
    result.AddLast (e);
    }
    return result;
    }

    }

    public class Employee
    {
    private string name;

    public string Name
    {
    get { return name; }
    set { name = value; }
    }

    private int age;

    public int Age
    {
    get { return age; }
    set { age = value; }
    }

    private string specialty;

    public string Specialty
    {
    get { return specialty; }
    set { specialty = value; }
    }

    }

    }
    }

    Imported from legacy forums. Posted by Sami (had 425 views)

    User (Old forums)
    Member
    Post count: 23064

    I beleive I found my problem>

    WPF on widows XP uses software to render text(Not directx9) so it is slow.

    WPF on windows Vista uses Hardware to render text in DirectX10 fast(So I have Read)

    DirectX 10 is not compatible with WinXP

    so we have to live with slow.
    It a microsoft problem not exceed.

    Imported from legacy forums. Posted by MiddleTommy (had 390 views)

    User (Old forums)
    Member
    Post count: 23064

    I Upgraded to the latest version of DirectX 9c(note: I found out that there are older versions of 9c)
    and to the latest version of 1.1 as of 5/30/07
    Speed has improved

    Imported from legacy forums. Posted by MiddleTommy (had 5553 views)

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.