-
WPF系能优化
- 硬件及系统软件
- 布局
- 使用高效的布局Panel 如canvas, GRID布局比较费时,使用VirtualizingStackPanel
- Xaml树的构造从下至上,以减少父节点变化导致的子节点刷新
- 对象行为
- 对象释放应该同时释放其事件或者利用类似弱事件机制(Galasoft mvvm command)
- 资源
- 绑定
- 使用依赖属性能少量提高绑定性能
- 减少绑定对象的属性,绑定是通过反射来进行的 对于属性对的vm绑定性能差
- 绑定到ItemSource,使用 ObservableCollection<T> , 不要去更改ItemSource对象,应该是更改原有对象的集合
- 控件
- ItemsControl虚拟化
- 虚拟化条件
- 项容器直接添加到 ItemsControl。 例如,如果应用程序将 ListBoxItem 对象显式添加到 ListBox,则 ListBox 不会虚拟化 ListBoxItem 对象。
- ItemsControl 中的项容器属于不同类型。 例如,使用 Separator 对象的 Menu 无法实现项回收,因为 Menu 包含 Separator 和 MenuItem 类型的对象。
- 将 CanContentScroll 设置为 false。
- 将 IsVirtualizing 设置为 false。
- 容器回收 VirtualizingStackPanel的VirtualizationMode 设置为recycling.
- 优化模板 减少不必要的Visual
- 延迟滚动 ScrollViewer的 IsDeferredScrollingEnabled 设置为true
-
相关阅读:
Django学习过程中遇到的问题
代理工具WebScarab安装(转载)
MongoDB安装之window版本的安装
QT打包
小工具--串口
多线程--信号量
关于多线程
QQ界面及简单操作实现
udp通信
char *p = "abc";char p[] = "abc";两者之间的区别
-
原文地址:https://www.cnblogs.com/fengpeng/p/4628416.html
Copyright © 2020-2023
润新知