在XenApp中,默认情况,为了考虑移动终端中,带宽比较低,运算能力的考量,XenApp默认对ICA通道显示的画面的质量和抓取的帧率进行了限制,这样就能最大可能的来保证体验的情况下,降低带宽的消耗。
也就是说,默认情况下基本都是针对的带宽优化,而如果我们需要对体验进行优化,可能就会增加带宽的消耗,所以我们需要进行取舍,而Citrix XenApp也为我们提供了这种设置。比如,默认的画面质量,我们可以通过策略调整来提供画面,取消压缩等等,再比如针对Flash,我们可以Content Redirection,从Server提取地址后,重定向到客户端解码播放,都可以优化体验,但是针对一些只能在服务器端运行的多媒体资源,可能就没有特别好的优化方式,默认情况下,客户端的显示都是比较卡顿,没有什么好调整的。
今天在做一个基于地理定位的应用程序发布的时候,发现,该程序调用的是微软的silverlight,而不是flash,也就没法进行Flash重定向来增强体验,画面也关系不大,关键是不流畅,而尝试了XenDesktop以后,发现,非常流畅,而在观察XenDesktop策略的时候,我就发现XenDesktop有帧率的设置选项,这也就对我产生了启发,于是我就尝试调整XenApp服务器在fetching应用程序界面的时候的帧率,结果还真有办法调整。
调整帧率,很自然会带来带宽的增加,CPU使用率的上升,内存消耗提高等等,但是如果对用户体验要求高的话,可以调整一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #我们需要设置一下XenApp服务器的帧率,这样就可以提高视频或者一些高速画面的流畅性,但是会增加带宽消耗 #以下设置键值都是十六进制值,不用再次转换了! #具体位置如下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd\thin16\ #以下键值用于增加40%的帧率 LongFrameBuildupTime 60 LongFrameReviewTime 20 ShortFrameBuildupTime 30 ShortFrameReviewTime 10 #以下键值用于增加80%的帧率 LongFrameBuildupTime 45 LongFrameReviewTime 15 ShortFrameBuildupTime 20 ShortFrameReviewTime 10 #大家可以根据流畅度、带宽、CPU消耗跟中权衡来决定要如何修改 |
修改完成以后需要重启XenApp服务器才能生效。
如果是用2003服务器装xenapp5来发布一个服务器桌面,用系统的ie调用图片查看,貌似无改善,使用这个调优是不是无效?
原则上来说,增加帧率,所有的效果,包括视频,包括普通的页面流畅性都会增加, 无非就是增加了带宽消耗。
至于使用Windows自带的图片查看器来查看图片,可能跟Windows对图片的查看方式有关。
估计效果不是很明显。具体机制还有待研究。
嗯 有启发 good
我也去试下看看,5.0 for 2008 x64环境。新建64位REG_DWORD值,请教下,输入LongFrameBuildupTime 60的“60”时,我应该选择十六进制呢?还是十进制?
文章里面都说了:“#以下设置键值都是十六进制值,不用再次转换了! ”
嗯,俺笨,就是看不懂这句话,才发贴回复的。
@Froyo: 对 是Progressive Display 我记错了
@三宅一猫: Speed Screen主要是用来解决输入和反馈延迟的吧?
Progressive Display主要是用来压缩画面,可能对客户端计算能力弱或者带宽小有用。
增加帧率是用来提高中间缺失的帧,让人感觉更流畅。文章主要针对的是类视屏应用。解决问题的是一块silverlight里面的地图类应用。全是动画特效,操作中间会丢帧,增加以后就可以了。
@Froyo: Speed Screen 压缩设置为中
我的场景是一个动态的gif动画满屏飞 无法使用服务器解码
@三宅一猫: 你配置什么策略?你可以放放视频,使用服务器解码的版本,你会发现,不管你如何优化策略,都有点类似幻灯片的感觉,帧率太低。
调整以后,流畅度有明显改善。
么啥用 我试过的·
还不如配置策略效果来的明显·