Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > .NET General

Vista - Extremle bad performance of DataGridView... :-\

Reply
 
Old 12-15-2008   #1 (permalink)
Dmitry Bond.


 
 

Extremle bad performance of DataGridView... :-\

Hello.

Could you please help?

Source: VS2005, .NET 2.0, simple windows application, a number of
*.XML files (sometimes with + *.XSD).

Idea - display DataSet data which was previously stored to XML file
(with DataSet.WriteXml method).
So, the main form has a DataGridView -> BindingSource -> DataSet
objects linked together.
And there is only one button - LoadXml:

private void tbLoadData_Click(object sender, EventArgs e)
{
if (dlgOpen.ShowDialog() != DialogResult.OK) return;

this.dataSet1.ReadXml(dlgOpen.FileName);
string alt_fn = Path.ChangeExtension(dlgOpen.FileName,
".xsd");
if (File.Exists(alt_fn))
this.dataSet1.ReadXmlSchema(alt_fn);

this.bindingSource1.DataMember = this.dataSet1.Tables
[0].TableName;
this.bindingSource1.ResetBindings(true);
this.dataGridView1.Refresh();
this.dataGridView1.Parent.Refresh();
stLab2.Text = string.Format("{0} data rows x {1} columns",
this.dataSet1.Tables[0].Rows.Count,
this.dataSet1.Tables[0].Columns.Count);
}

Of course all XML files has different set of fields (different
schemes) but all of them were stored from .NET applications with
DataSet.WriteXml method (sometimes it also store scheme file near -
but it is optional).

Unfortunately this code does not work. :-\

Question - how to make it working?!
Can you recommend some manuals, guides to read? I mean - guides
exactly about data binding/data displaying. Seems this part in .NET is
extremely tricky and unclear... :-(


--------
Ok. Next problem - performance problem.
I found a way how to display dataset loaded from XML - in the middle
of code listed above I have added this part:

this.dataGridView1.Columns.Clear();
foreach (DataColumn dc in dataSet1.Tables[0].Columns)
{
DataGridViewColumn dgc = new DataGridViewColumn(new
DataGridViewTextBoxCell());
dgc.Name = dc.ColumnName;
dgc.DataPropertyName = dc.ColumnName;
this.dataGridView1.Columns.Add(dgc);
}

So, I recreated columns for DataGridView and now it able to display
data correctly each time I load it from XML.
BUT IS IT EXTREMELY SLOW! I have only 700 rows in DataGridView but it
slowsdowns my computer like there are 700.000 rows (comparing to
normal Win32 applications performance).

So, question is - WHY DataGridView is SO SLOW?
What can I do to make it fast?
What is wrong in my code? In approach I implemented?


Regards,
Dmitry.

My System SpecsSystem Spec
Old 02-03-2009   #2 (permalink)
Dmitry Bond.


 
 

Re: Extremle bad performance of DataGridView... :-\

As nobody answered, so I put some summary on my investigations.

The only pattern I found - performance problems appears only with
nVidia video cards, thus it is something related to hardware problems.
Seems after latest patches problem was fixed under Windows Vista, but
under Windows XP problem still exists.
And seems there is no chances to have it fixed for WinXP, looks like
it is "politic" of microsoft - to enforce everybody to "migrate" to
Vista.

Last time, when I did show that .NET application to a customer and
explained possible reasons of problem they decided to freeze migration
to .NET platform for some time. Until MS fix this performance bug or
until they have all computers with Vista...

Thus, my conclusion - problem exists. Seems MS fixed it for Windows
Vista but still not fixed for Windows XP.
Recommendation from MS insiders was like this - "buy a license for
specialized visual controls for your development and do not expect
that visual controls pre-included into Visual Studio will be working
ok".



On 15 ΔΕΛ 2008, 18:12, "Dmitry Bond." <dima_...@xxxxxx> wrote:
Quote:

> Hello.
>
> Could you please help?
>
> Source: VS2005, .NET 2.0, simple windows application, a number of
> *.XML files (sometimes with + *.XSD).
>
[...]
My System SpecsSystem Spec
Old 02-04-2009   #3 (permalink)
PvdG42


 
 

Re: Extremle bad performance of DataGridView... :-\



"Dmitry Bond." <dima_ben@xxxxxx> wrote in message
news:43c7f9c3-c00b-4c06-afd2-68312f81a6c3@xxxxxx
Quote:

> As nobody answered, so I put some summary on my investigations.
>
> The only pattern I found - performance problems appears only with
> nVidia video cards, thus it is something related to hardware problems.
> Seems after latest patches problem was fixed under Windows Vista, but
> under Windows XP problem still exists.
> And seems there is no chances to have it fixed for WinXP, looks like
> it is "politic" of microsoft - to enforce everybody to "migrate" to
> Vista.
>
> Last time, when I did show that .NET application to a customer and
> explained possible reasons of problem they decided to freeze migration
> to .NET platform for some time. Until MS fix this performance bug or
> until they have all computers with Vista...
>
> Thus, my conclusion - problem exists. Seems MS fixed it for Windows
> Vista but still not fixed for Windows XP.
> Recommendation from MS insiders was like this - "buy a license for
> specialized visual controls for your development and do not expect
> that visual controls pre-included into Visual Studio will be working
> ok".
>
>
>
> On 15 ΔΕΛ 2008, 18:12, "Dmitry Bond." <dima_...@xxxxxx> wrote:
Quote:

>> Hello.
>>
>> Could you please help?
>>
>> Source: VS2005, .NET 2.0, simple windows application, a number of
>> *.XML files (sometimes with + *.XSD).
>>
> [...]
Was it fixed in Vista (the NVidia unique problem) with new drivers, by any
chance?
If so, have you checked with NVidia for updated XP drivers?


My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
DataGridView new row .NET General
Re: datagridview .NET General
Get the position in a DataGridView .NET General
Problems Using DataGridView PowerShell


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46