什么类型的应用程序启动得更快:Windows窗体或WPF?
据我所知,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-server-2012 – Office365 DirSync Active Directo
- Windows批量检查变量是否以,以…结尾并包含特定字符串
- windows-server-2008-r2 – 计划任务失败,但在手动触发时运
- 图像处理 – 检测窗口的非最大抑制
- 使用在Wix中创建的x86 mai包写入注册表的x64部分
- Windows中的不朽过程;无法杀死它
- Windows 8共享目标与JQuery崩溃
- Windows应用程序上的不规则套接字错误(10054)
- windows-7 – Windows 7上的Windows批处理文件问题
- windows – 是否有免费的“添加连接”或“SQL连接”对话框?