公司基于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,那么给人感觉的是很慢很慢。