Silverlight 4 更新:改进了网络延迟与内存使用

  • Jonathan Allen
  • 张龙

2011 年 2 月 20 日

话题:.NET语言 & 开发

本周初,微软发布了一个 Silverlight 更新,解决了平台上的几个关键问题。此次发布叫做Silverlight 4 GDR3,并且只是针对运行时的;并没有增加任何新功能或是 SDK。

折磨 Silverlight 开发者的最严重的内存问题就是无法安全地使用内联模板(inline templates)。使用他们的控件看起来运转正常,但却从来不会被垃圾回收器回收。你可以在2010 年 3 月论坛的这篇帖子中看到有问题的示例代码。对于 Silverlight 团队来说,这是个让人难堪的问题,因为问题的严重程度导致人们开始嘲笑他们了。

为了解决这个问题以及文章中所提的其他问题,开发者们不得不让用户更新 Silverlight。这是通过在 <object> 标签中设置最小的运行版本号属性实现的。

接下来就是网络延迟问题了。此次对 HTTP 栈的更新承诺将提升 90% 的网络延迟时间。要想使用该更新还需要一个额外的步骤;需要修改开发者机器上的注册表设置或是在 manifest 中修改运行时版本。注意到对于 64 位的操作系统来说,说明是不太准确的。下面才是需要寻找的注册表键值:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Silverlight\v4.0\ReferenceAssemblies\SLRuntimeInstallVersion

此次更新还包括:

  • 媒体播放以及 VC-1 codec 的 Timestamp 问题
  • 在分析使用了像素着色器的 Silverlight 应用时会导致的 Visual Studio IDE 崩溃问题
  • 可以在 64 位 OSX 的 Firefox 上以 32 位处理器的形式运行 Silverlight
  • DRM 修复了“6207”——在升级到某个版本的 Silverlight 后播放受保护的内容时出现的错误
  • 如果应用名称变更,那么浏览器外应用的升级将会失败
  • 当媒体流使用了重定向信息时会导致媒体播放错误

查看英文原文:Silverlight 4 Updates Improves Network Latency, Memory Usage

.NET语言 & 开发