公司基于WPF自己开发了一套control,发现不少性能问题。
列一下我发现的几个吧
1) grid control的hit count挺多的。一个grid中的各个row presenter有很多很多,但是度是同一个format的。所以不必每次都调用row presenter的constructor,除了第一次之外;余下的全部调用clone来实现。
同样的,row presenter有很多attribute,ProcessAttribute也占用了很多时间,同样可以通过clone来避免construct多次;甚至,如果各个row可以共用同一套attribute,如果attribute是无状态的或者各个row的行为全部一致的(无差异)
2) mini grid中有一些是有很多数据的。如果全部load完毕才能activate screen,那么给人感觉的是很慢很慢。
WPF性能优化
本文针对公司自研WPF control在实际应用中遇到的性能问题进行了分析。主要关注于gridcontrol和minigrid的优化策略,提出了通过clone而非重复构造对象以减少hitcount的方法,并讨论了如何改善大量数据加载导致的响应缓慢现象。
403

被折叠的 条评论
为什么被折叠?



