繁体   English   中英

为什么只有Silverlight for WP7才有合成器线程?

[英]Why does only Silverlight for WP7 have a compositor thread?

上周我了解到Windows Phone上的Silverlight使用“ 合成器 ”线程来缓存位图和动画,并独立于UI线程运行它们。 即使UI线程被阻止,这也允许动画顺利运行。

我的问题是:为什么只针对WP7引入,而不是Silverlight(web)或WPF?

微软最近关注的重点是Silverlight for Windows Phone 7(成败时间),因此他们已经为手机增加了必备功能,这些功能现在将出现在Silverlight的下一个版本中。 基本上任何东西都可以使手机看起来快速/平滑/良好。

我特别提到Silverlight(浏览器版)即将发布的功能是:“在后台线程上运行动画故事板”。 这是在最近的视频(抱歉失去了链接)。

合成器(渲染)线程在Windows Phone 7设备上运行GPU。

作为一种资源受限的设备,有必要使用所有很酷的动画来使用位图缓存图像在GPU上运行这些东西。 我认为这是Windows Phone 7平台团队不可避免的设计选择,可以实现Windows Phone 7设备上可用的视觉效果。

当然,或许它也适用于WPF和Silverlight在适当的时候。

所以它不是提供另一个线程来减轻CPU的负载。 这是管理GPU的一个线程。 UI线程在CPU上运行,处理一般UI交互和所有其他非GPU代码。

要使合成器线程专门在GPU上运行,需要运行该软件的硬件具有GPU,并且它对于该任务来说足够强大。

WP7设备是第一个可以保证运行Silverlight的每个硬件都具有基线硬件要求的设备。

如果Silverlight尝试这样做,如果运行的硬件没有GPU,则必须将合成器移动到CPU。 如果该CPU是单核,那么在某些机器上,底层代码就会变得更加复杂,从而无法获得性能提升。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM