问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何提高wpf效率 转载

发布网友 发布时间:2022-05-14 03:10

我来回答

1个回答

热心网友 时间:2024-02-23 02:59

WPF Performance Tips
Windows Presentation Foundation provides a very confortable way to develop rich user experiences. A drop shadow for example can added by inserting two simple lines of XML. But this simplicity can also mislead us to overuse them. This leads to performance issues. The following tipps may help you to avoid or fix them.
WPF 让我们很容易的开发富用户体验的程序。比如阴影效果可以用两行XML代码实现。但这可能会误导我们过度使用他们,而导致性能问题,下面有些Tips可以帮我们改善WPF程序性能。
Dispatch expensive calls either within the UI thread with a lower DispatcherPriority by callingDispatcher.BeginInvoke() or to a background thread by using a BackgroundWorker to keep the UI responsive.
当程序需要长时间进行后台操作的时候,使用Dispatcher.BeginInvoke()保持程序响应。
Fix binding errors because they consume a lot of time, trying to resolve the path error, including searching for attached properties. You can find them by looking for System.Windows.Data Error in the Visual Studio output log.
修复binding错误。binding上的错误会消耗很多时间,程序会试图解决path的错误,包括查找附加属性。你可以通过ststem.windows.data.error找到binding错误。
Rece the number of visuals by removing unneeded elements, combining layout panels and simplifying templates. This keeps the memory footprint small and improves the rendering performance.
通过移出不必要的元素,合并layout panels,简化templates来减少可视化树的层次。这可以保证第内存使用,而改变渲染性能。
Prevent Software Rendering. The use of transparent windows by setting AllowsTransparency to true or using old BitmapEffects can cause WPF to render the UI in software on Windows XP, which is much slower.
避免使用软件渲染。设定Windows的AllowsTransparency为true或者使用老的BitmapEffects可以导致WPF使用软件渲染UI从而导致程序变慢。
Load resources when needed. Even thow it's the most comfortable way to merge all resources on application level it can also cost performance by loading all resources at startup. A better approach is to load only often used resources and load the other on view level.
将资源定义在使用的地方。虽然把所有资源放到应用程序级很方便,但这样会迫使程序在开始时加载所有资源。更好的办法是在用到的地方加载。
Virtualize lists and views by using a VirtualizingStackPanel as ItemsPanel for lists. This only creates the visible elements at load time. All other elements are lazy created when they get visible. Be aware that grouping or CanContextScrol="True" prevents virtualization!
使用VirtualizingStackPanel 虚拟化列表作为lists中的ItemsPanel和视图.VirtualizingStackPanel只会在lists中的item可见时加载。但注意要分组和设定CanContextScrol为True可以组织虚拟化。
Enable Container Recycling. Virtualization brings a lot of performance improvements, but the containers will be disposed and re created, this is the default. But you can gain more performance by recycle containers by setting VirtualizingStackPanel.VirtualizationMode="Recycling"
虚拟话可以带来很大的性能提升,但是默认情况下容器会被重新创建。我们可以通过设定VirtualizingStackPanel.VirtualizationMode="Recycling" 来得到更多的性能提升。
Freeze Freezables by calling Freeze() in code or PresentationOptions:Freeze="true" in XAML. This reces memory consumption and improves performance, because the system don't need to monitor for changes.
通过在代码中调用Freeze()或者在Xmal中设定PresentationOptions:Freeze="true"来冻结可以冻结的控件。由于这样系统不必监听该控件的变化,所以可以带来性能的提升。
Disable Assembly localization if you don't need it. By using the [NeutralResourcesLanguageAttribute].This prevents an expensive lookup for satelite assemblies
不太理解……高手可以帮忙翻译。
Lower the framerate of animations by setting Storyboard.DesiredFrameRate to lower the CPU load. The default is 60 frames/second
降低动画的帧率。大多数动画不需要高帧率,而系统默认为60frames/sec,所以可以设定Storyboard.DesiredFrameRate 为更低值。
Use StreamGeometries instead of PathGeometries if possible to draw complex 2D geometries, because they are much more efficient and consume less memory.
尽可能使用StreamGeometries 代替PathGeometries ,因为它可以降低内存占用,更高效。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果两个男生喜欢上同一个女生怎么办 玛丽居里学者 玛丽居里奖学金含金量 玛丽居里学者含金量 玛丽居里学者什么级别 豆渣肥料适合什么花 豆渣拌在土里能种花吗-豆渣怎样做肥料好 生物化学和微生物学是一个专业吗 请问这狗狗是什么品种?是不是杂交的啊? ...鉴别下这是啥狗狗?大概三个月不到点。个人感觉像是蝴蝶和土狗... 哪里能下载到电视剧《婆婆来了》 四川传媒学院是以专业排名还是比例原则录取艺术类的 婆婆来了电视剧26集婆婆来了27集婆婆来了在线观看 wpf与silverligter的区别 婆婆来了 下载 WPF和Silverlight的具体区别? 请问大家都是在哪里下载的电视剧 想下载婆婆来了 中国那个城市离韩国最近 如何:使用 WPF 树可视化工具 婆婆来了电视剧全集 婆婆来了电视剧在线观看 婆婆来了电视剧下载 婆婆来了电视剧 韩国靠近我国哪里 成都艺术传媒学院的学生可以报考公务员吗? 中国哪个省哪个城市离韩国最近?全面回答,谢谢 中国与韩国的距离? 韩国和中国的距离 求电视剧《婆婆来了》下载地址或种子!!迅雷下载的不全而且打不开~~~万分感谢、、、 中国靠近韩国的是那几个城市 韩国济州岛离中国哪个城市近 只穿内裤在工地生活区走动违法吗? 中国哪个城市离韩国最近 - 信息提示 四川传媒学院是民办还是公办? 云盘照片删除后又格式化了还能找回吗? 小米ro反渗透膜与云米一样么 小米净水器反渗透是什么意思 婆婆来了下载 - 信息提示 【婆婆来了】这部连续剧 在哪里能下载到? 《名侦探柯南》特别篇有哪些? 名侦探柯南特别篇有哪些? 名侦探柯南特别篇都有哪些? 名侦探柯南特别篇都有哪些 如何正确的向一个女孩子询问年龄? 日全食 是怎回事 名侦探柯南精彩的特别篇有哪些 日全食他们的区别 柯南特别篇一共有多少?分别是什么名字?哪几集? 多少年有一次日食? 名侦探柯南 特别篇都是哪几集? 怎样用一句话幽默的问别人女孩子的年龄?