首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在远程桌面上提高WPF应用程序的速度?

在远程桌面上提高WPF应用程序的速度?
EN

Stack Overflow用户
提问于 2009-06-17 07:04:38
回答 2查看 8.8K关注 0票数 4

在我们的场景中,我们有一个用户通过远程桌面使用的wpf应用程序,我们发现用户体验非常慢。

在这种情况下,有什么改进用户体验的建议吗?其中一点可能是禁用任何动画/故事板,并避免在UI中使用渐变。更多的想法是值得感谢的。

EN

回答 2

Stack Overflow用户

发布于 2009-06-17 08:17:11

对于渐变来说,这不是多个渲染层的问题,比如如果你有一堆嵌套的控件,它们都是部分不透明的。请看一下可用的WPF Performance Optimization指南。里面有很多需要消化的信息,但是有了里面的渲染技巧和performance tools,你肯定能够做出一些改进。

更新:

Jamie Rodriguez将在微软发布一些关于WPF的内部讨论。今天有一个新的帖子,其中包括关于performance when remoting的技巧和讨论。

从WPF3.5 SP1开始,所有版本的WPF都使用位图远程处理进行了远程处理(包括远程桌面和终端服务器)。

位图远程处理的工作方式如下:

  • 使用WPF的软件在服务器上呈现应用程序运行时,服务器跟踪应用程序窗口的哪些区域是新的脏区域,需要更新
  • 当区域需要更新时,服务器只创建脏区域的压缩位图并将其发送到客户端
  • 一旦客户端将该位图绘制到其自己窗口上的适当位置,客户端窗口就是最新的

给定此远程处理机制的工作方式,可以通过以下几种方式最大化性能:

  • Dirty regions应保持尽可能小,以便通过网络发送的数据量最少
  • 环境动画应关闭
    • 例如,将窗口背景设置为动画渐变会导致整个窗口在每次渐变时无效/重新绘制

  • 系统不会优化应用程序的遮挡部分
    • 例如,完全隐藏在某些其他不透明元素后面的动画仍将导致脏区域无效/位图生成。从你的application.

中删除这些

应尽可能不频繁地创建

  • 脏区
    • 关闭尽可能多的动画
    • 对于那些无法完全消除的动画,请使用DesiredFramerate 降低动画帧率

  • Dirty Region位图应尽可能简单,以最大限度地压缩在TS上运行的
    • 应用程序应优先使用纯色而不是渐变或其他奇异填充(不必要的图像等),尤其是对于将被重绘的应用程序部分

避免在软件

  • BitmapEffects //
    • 中渲染时特别慢的操作,特别是大半径的模糊和投影在软件
    • 3D中非常慢-3D软件光栅化程序比在hardware

中渲染慢很多

票数 11
EN

Stack Overflow用户

发布于 2009-06-17 16:11:57

你可以查询WPF performance query (http://msdn.microsoft.com/en-us/library/ms742196.aspx)并适当地减少你的动画/图形技巧,这样你的应用程序在本地看起来仍然很棒,同时在RDP上运行得很快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1005497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档