wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了什么类型的应用程序启动得更快:Windows窗体或WPF?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

据我所知, WPF应用程序应该比 Windows Forms应用程序运行得更快,因为WPF应用程序使用DirectX进行渲染而不是GDI.但什么样的应用程序会更快启动:WPF或Windows Forms?开始时间是大致相同还是一种应用程序会比另一种更快? 我没有针对任何特定的操作系统. 只是要指出,根据我的经验,尽管使用DirectX,WPF渲染器实际上比Windows Forms慢很多.这是因
据我所知,WPF应用程序应该比 Windows Forms应用程序运行得更快,因为WPF应用程序使用DirectX进行渲染而不是GDI.但什么样的应用程序会更快启动:WPF或Windows Forms?开始时间是大致相同还是一种应用程序会比另一种更快?

我没有针对任何特定的操作系统.

只是要指出,根据我的经验,尽管使用DirectX,WPF渲染器实际上比Windows Forms慢很多.这是因为在cpu端进行了大量的细分和布局计算,这有效地抵消了使用GPU的性能提升.

只是谷歌周围的“WPF慢”或“WPF性能”,你会发现惊恐的开发人员震惊地了解他们花费时间和精力将WinForms转换为WPF因为关于GPU的旋转被浪费,因为结果比原始应用程序慢.

但是……我会说这个. WPF在样式,图形功能,开发人员生产力(数据绑定),动画,外观和感觉等方面远远优于WindowsForms.如果性能确实存在问题,那么在某些方面您可以进行优化.例如,您是否知道可以获一个API直接写入WPF中的位图(请参阅WriteableBitmap类)以在内存中执行类似GDI的操作?对于某些操作,这(令人惊讶地)比WPF原语快20倍.

类似地,您可以使用虚拟化来提高数据网格的性能等.Telerik有一个网格在交互式帧速率下滚动1,000,000行的示例.

总之,要虑一下你在做什么,并在网上看到类似的例子.您是在进行实时科学数据采集和可视化还是只是标准的业务应用程序?比较类似的示例以查看框架的功能将帮助您做出决策.

更新2013年第3季度

作为一个更新,在各种项目中,我现在通过从UI线程移动任何东西和所有东西,从WPF看到更快更快的性能.例如.保留UI线程仅用于UI,使用任务并行库或RX做尽可能多的工作.使所有内容都异步,并且在等待时不要阻止UI线程.

消除绑定错误,因为这些会导致WPF性能问题.

您可以将动画(例如,等待或加载动画)移动到不同的线程上,以实现无故障动画.在进行动画过渡时,可以使用渲染到位图.

长话短说?可以从WPF应用程序(以及光滑的UI)获得出色的性能,但您需要投入更多的工作!

大佬总结

以上是大佬教程为你收集整理的什么类型的应用程序启动得更快:Windows窗体或WPF?全部内容,希望文章能够帮你解决什么类型的应用程序启动得更快:Windows窗体或WPF?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。