在设置silverlight应用程序的属性时,我看到未选中的复选框:
减小XAP大小
更小的下载大小的和更快的速度 good to me,这让我想知道为什么默认没有打开它们。
这些选择的缺点是什么?
发布于 2010-03-10 02:06:54
通过使用应用程序库缓存减少XAP大小
优势
这允许将那些配置了dllname文件的库放在单独的.extmap.xml
文件中,从而减小了XAP的大小。这些zip文件将作为初始XAP下载的一部分被请求。
优势来自两种情况。首先,如果您更新代码并重新构建XAP,那么大多数情况下唯一变化的就是XAP,zip文件保持不变。因此,当客户端重新访问您的应用程序并需要下载最新版本时,很可能只获取XAP,相同的zips将从浏览器缓存中提供(可能是在来自服务器的“304Not Modified”响应之后)。
另一种情况是您的站点上有多个SL应用程序。它们将共享相同的压缩文件,因此多个应用程序的总下载量将大大减少。
的劣势
对于一次性应用程序,第一次客户端访问的下载成本至少与所有库都保存在XAP中的成本一样高。在某些情况下(只有一个应用程序的站点有大量的独立访问者),保留单一的XAP可能更可取,特别是如果XAP本身不经常改变的话。
如果有多个XAP共享同一组库压缩,则存在"DLL地狱“的危险。可能有人会更新一个XAP,该XAP使用了其他XAP尚未测试过的更新版本的库,并在无意中破坏了所有其他XAP。有一些好的实践可以消除这个问题,但是它比点击复选框需要更多的努力。
结论
特别是考虑到第二个缺点,我认为不默认这个特性是一个明智的选择。
使用GPU加速
我不打算深入讨论它的优点/缺点。只需回答为什么默认情况下关闭即可。
仅仅打开它不会获得任何好处,您需要通过CacheMode
属性启用XAML中的哪些元素可以使用它。此外,根据你正在做的事情,这可能仍然不会给你带来任何好处。
仅仅打开它就会消耗额外的资源,比如视频内存,你不会希望发生这种情况,除非你已经在你的应用程序中的某个地方专门使用了CacheMode
,希望它能真正发挥作用。也有可能会弄错,让事情变得更糟。
发布于 2010-03-09 21:40:28
我相信这两个特性都是在Silverlight3中引入的,选择它们的一个原因是为了保持向后兼容。
在某些情况下,打开GPU加速实际上会降低性能或导致其他问题。通过将其设置为选择加入过程,您更有可能注意到结果(好的或坏的),而不是默认打开的设置并想知道为什么您的应用程序会出现性能问题。
https://stackoverflow.com/questions/2409184
复制相似问题