设置silverlight应用程序的属性时,我会看到未选中的框:
更小的下载大小和更快的速度声音对我来说很好,这让我想知道为什么这些没有默认打开.
那么这些选择的缺点是什么?
Ant*_*nes 13
好处
这通过允许将使用dllname .extmap.xml
文件配置的库放在单独的zip文件中来减少XAP大小.这些zip文件将作为初始XAP下载的一部分进行请求.
优势来自两种情况.首先,如果您更新代码并在大多数情况下重建XAP,则唯一更改的是XAP,zip文件保持不变.因此,当客户端重新访问您的应用程序并需要下载最新版本时,很可能只有XAP被获取,拉链是相同的从浏览器缓存中提供服务(可能是在服务器的"304 Not Modified"响应之后) ).
另一种情况是您的站点上有多个SL应用程序.他们将共享相同的拉链,因此多个应用程序的总下载量大大减少.
缺点
对于一次性应用程序,第一次客户端访问将是至少与XAP中保存的所有库一样昂贵的下载.在某些用途中(具有单个应用程序的站点的大量唯一访问者)可能更希望保留单个XAP,尤其是在XAP本身不经常更改的情况下.
如果有多个XAP共享同一组库拉链,则存在"DLL Hell"的危险.可能有人可以更新XAP,该XAP使用其他XAPS未经过测试的新版本库,并且无意中破坏了所有其他XAPS.有一些好的做法可以消除这个问题,但它比轻弹Checkbox需要更多的努力.
结论
鉴于第二个缺点,我认为不默认此功能是一个明智的选择.
我不打算讨论这个优点/缺点.只需回答默认情况下关闭的原因.
只要打开它就没有任何优势,你需要启用XAML中的哪些元素才能通过CacheMode
属性使用它.此外,根据您的工作情况,这可能仍然没有给您带来任何好处.
打开它会消耗额外的资源,例如视频内存,你不会希望这种情况发生,除非你已经明确地CacheMode
在你的应用程序的某个地方使用,并希望它会产生真正的不同.也有可能弄错并让事情变得更糟.
我相信这两个功能都是在 Silverlight 3 中引入的。选择加入它们的原因之一是为了保持向后兼容性。
在某些情况下,打开 GPU 加速实际上会降低性能或导致其他问题。通过使其成为一个选择加入的过程,您更有可能注意到后果(好或坏),而不是默认打开的设置并想知道为什么您的应用程序存在性能问题。
归档时间: |
|
查看次数: |
1428 次 |
最近记录: |