WPF Dev GridControl控件加载慢的问题优化

WPF Dev GridControl控件加载慢的问题优化,第1张

在做WPF项目时,我经常用DEV的控件,其中GridControl的功能蛮强大的,打开一个带GridControl的窗体特别慢,需要3秒钟左右。

一开始我以为是渲染数据慢,后来我什么数据也不加载,就放一个空的GridControl,也需姚3秒钟左右。

而旁边的微软自带的DataGrid则是秒开。

查了很多资料,都说是WPF第一次加载控件,VisualTree需要加载资源,所以很慢,

第二次就会快很多。这个devexpress也解决不了。只能变通的选种方式解决。

就是在程序启动前,显示一个SplashScreen,将GridControl放在SplashScreen中,这样,之后,我们需要显示带有GridControl的窗体时,就会快很多。

经过测试,现在打开dev的窗体,一秒钟不到。

确实是有效果的。

winform还存在仅剩的五条理由:

对于够用党来说winform够用了

winform上手肯定比wpf简单

wpf刚出来的时候启动速度太慢,企业还是以winform为主(256M内存,XP时代)

然后桌面项目就没落了,wpf不跨平台不开源,wpf没有出手大型软件的机会,现在开源了也没跨平台。

wpf创建控件的速度还是比winform慢一点,有些情况下还是有winform比wpf快的感觉

但是在我所在的工控编程领域,我还是推wpf多,有很多方面,比如这个领域小动画很多,比如管子要有蚂蚁线动画,表达有东西在流动,十几个蚂蚁线就能让winform卡的10帧都不一定有。比如很需要line chart曲线图折线图,不断地更新,还需要平移缩放 *** 作等,winform的渲染性能太差,承载能力低。而wpf的渲染性能足够好,导致渲染性能不是瓶颈,动画可以做到流畅的60帧,当然我们群里也有人不服说工控软件要这么流畅干嘛,我会把我使用一个性能非常好的chart示例视频给他看,让他们看看威力,这个优秀体验是软件实力的彰显,其实只是用了好用的控件。WPF也更擅长无损图形和3D,这样可以借svg,autocad和solidworks的东西做成自己需要的界面,无损平面转xaml的Shapes,sw中提取简单的3d图直接可以导出xaml,方便控制动画和颜色,做出更加好的效果动画,方便程度远超qt到web的各种。

winform也有控件使用sharpdx来渲染加速,但是如果各个控件都用sharpdx的话,他们用的版本通常都是不同的,那么就只有一个控件能用上sharpdx了。所以wpf的渲染速度底子还是很重要的,不要总是麻烦sharpdx嘛。

当然,wpf你入门以后会发现开发其实比winform简单好用,画一些工控需要的乱七八糟的东西也方便,所以wpf是肯定优于winform的。但是现在桌面客户端领域里要把软件做大的少。

不要一次加载,首先第一步开启虚拟化 设置此ListBox依赖属性: VirtualizingStackPanel.IsVirtualizing="True" 第二步:等他拖动到此项的时候,再加载图


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7784984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存