在我们的工业自动化应用程序中,我们需要以毫秒为单位捕获和显示数据。
我们在数据网格控件和DataTable对象之间有数据绑定。我们有大约三百条记录需要显示在网格中。所以我们每次得到记录都会更新300条记录。
示例
TabularViewTable tvt = _presenter.WorkItem.Items.Get<TabularViewTable> ("TabularViewTable");
foreach (DataRow row in tvt.Rows)
{
row["Value"] = GetDataFast(row["Name"]);
}
连接10个设备后,CPU使用率将达到15%。如何使用DataTable或使用一些自定义数据源来提高性能
问候,
Krishgy
您应该认真考虑您的用户界面:
- 真的有必要显示300个值吗?普通人不可能同时专注于7件以上的事情
- 即使您降低了参数的数量,也有一个似乎很高的刷新频率是实用的
您可能应该执行以下操作:
- 创建一个具有最重要数据(图形、仪表等)图形表示的仪表板
- 创建钻取式窗体和报表,以便用户可以查看系统在任何给定时间段内发生的情况
对于初学者来说,您需要从DataTable切换到DataReader,因为它要快得多。其次,我会考虑一个LazyLoading架构。绑定50个条目,当它们滚动到底部时,再绑定/加载50个条目。