上周我了解到,Windows Phone 上的 Silverlight 使用“合成器”线程来缓存位图和动画,并使它们独立于 UI 线程运行。这使得即使 UI 线程被阻塞,动画也能平滑运行。
我的问题是:为什么这只在 WP7 中引入,而不是 Silverlight(Web)或 WPF?
我的问题是:为什么这只在 WP7 中引入,而不是 Silverlight(Web)或 WPF?
如果要让合成器线程特别在GPU上运行,需要软件运行的硬件拥有GPU,并且还要足够强大以满足任务需求。
WP7设备是第一个可以保证每个运行Silverlight的硬件都具有基本硬件要求的地方。
如果Silverlight尝试这样做,它必须将组合器移动到CPU上,如果它运行的硬件没有GPU。如果该CPU是单核心,则在某些机器上,底层代码仅变得更加复杂,但性能并未提高。