<p>In our industrial automation application, we need to capture and display the data in the milliseconds.</p>

<p>We have data binding between data grid control and a DataTable object. We have around three hundred records which needs to be display in the grid. So we update the 300 records every time we get the records. </p>

<p>Example </p>

<pre><code>       TabularViewTable tvt = _presenter.WorkItem.Items.Get&lt;TabularViewTable&gt; ("TabularViewTable");

        foreach (DataRow row in tvt.Rows)
        {
            row["Value"] = GetDataFast(row["Name"]);                
        }
</code></pre>

<p>After connecting 10 devices, the CPU usage goes 15%. How to improve the performance using DataTable or using some custom data source</p>

<p>Regards,</p>

<p>Krishgy</p>

You should seriously reconsider your user interface:
Is it really necessary to display 300 values? Ordinary human cannot concentrate on more than 7 things simultaneously,
Even if you lower number of parameters, there is frequency of refresh that seems to high to be practical.
You probably should do following:
create a dashboard with graphical representation of most important data (graphs, gauges, ...)
create drill down forms and reports, so that user can see what happened with system in any given period