2011-04-15 69 views
2

我曾考虑将我的应用程序从WPF 4转换为Silverlight 4.我的一个原因是,Silverlight作为.NET 4的子集应该需要更少的计算机资源,所以它在上网本上运行得更好。我检查了这一点,很惊讶地看到,最低系统要求更高:性能:WPF vs Silverlight

WPF: “奔腾 GHz或512 MB RAM或更多的更高”

Silverlight:x86或x64 1.6 - 千兆赫(GHz)或更高的处理器,512 MB的RAM

这是否类似于您的体验?如果我转换到Silverlight,我真的不得不担心我的应用运行速度会变慢吗?

在此先感谢。

+2

Silverlight使用.NET子集意味着它具有较少的功能,而不是资源密集程度较低。 .NET应用程序不会将整个框架加载到内存中... – 2011-04-15 20:20:52

回答

3

这符合我的经验。

Silverlight通常不像WPF那样优化。其中一部分是运行时 - 运行时不像完整的桌面CLR那么成熟,其中一部分是可用的优化。也就是说,Silverlight的每个版本都在改进其性能特征......

+0

感谢您分享您的体验。我想我会再等一会再考虑这个转换。 – Amenti 2011-04-17 21:32:37

3

我的经验中最大的问题是Silverlight没有充分利用您的图形适配器(因为它必须能够在沙盒浏览器中运行) 。

2

嗯,我没有基准测试过任何类似的东西,但我可以反思理论。

  • Silverlight是沙盒,WPF不是。沙盒有成本(至少有很多额外的检查来抛出SecurityException)。
  • Silverlight使用插件在浏览器内部运行。使用裸框架将WPF运行在桌面上。
  • WPF旨在'取代'完整的原生应用程序,因此必须非常优化。 Silverlight的设计目的是扩展网页,而网页并没有如此响应。

所以,我的猜测是:是的,Silverlight有点慢。