c# 加载界面运行会有小卡感觉
如图界面,进此界面会有小卡感觉,原因我认为有以下几点1.界面数据是循环读取数据库,然后遍历dataset用for循环将数据填充进去2.界面的某些列(有四列数据),不是读取...
如图界面,进此界面会有小卡感觉,原因我认为有以下几点1.界面数据是循环读取数据库,然后遍历dataset用for循环将数据填充进去2.界面的某些列(有四列数据),不是读取dataset,而是手动送进去的3.数据量过多,其实也就是39行,列也就是11行罢了。4.这些数据的处理放在了一个线程Thread上,Thread.Sleep(1000);感觉重点在这里,我sleep2000好一点,sleep5000好很多,但是sleep1000已经是我需要等待的时间极限了,超过了数据监视慢了还不如卡一点算了。其次我之前测试,把这些代码分了3个线程,每个线程也等待了1000s,效果没多大。5.线程部分代码如图。请教各位大神有好的办法解决低等待高效率的办法吗?
展开
展开全部
数据量其实并不大,你用多个线程没太多意义。因为没实际测试过,个人建议如下:
1、感觉你的数据似乎并不是全部变更的(比如说那个流程应该就是固定的),我不知道你那个Grid方法是如何做的,个人感觉你似乎完全重新加载了,建议可以保存前一个ds,在后面收到新的DS后,与前一个比较,找出变化后的行,然后直接将变化的数值更改到你的表格上(也就是直接对datagridview的某个单元格赋值),而不是重新加载表格。
2、比较终极的方法人个觉的是不用这种数据表格,而是直接用GDI绘图,在图像上绘出你的数据(界面觉的你可以优化一下,用生产流程图表那种方式,比表格直观,当然如果你在图上继续表表格也没什么问题)
1、感觉你的数据似乎并不是全部变更的(比如说那个流程应该就是固定的),我不知道你那个Grid方法是如何做的,个人感觉你似乎完全重新加载了,建议可以保存前一个ds,在后面收到新的DS后,与前一个比较,找出变化后的行,然后直接将变化的数值更改到你的表格上(也就是直接对datagridview的某个单元格赋值),而不是重新加载表格。
2、比较终极的方法人个觉的是不用这种数据表格,而是直接用GDI绘图,在图像上绘出你的数据(界面觉的你可以优化一下,用生产流程图表那种方式,比表格直观,当然如果你在图上继续表表格也没什么问题)
追问
没有全部定时的获取,只循环获取了除了缸号,名称后的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询