Silverlight - Silverlight for Windows Phone中的Render 线程

Silverlight for Desktop中没有单独的render thread,跟界面相关的操作都运行在一个UI thread中。之所以不像WPF那样设计一个单独的render thread,Ashraf Michail是这样解释 的:

Since WPF provides a rendering thread, it is probably surprising that Silverlight does not. You may be interested to know why.

The decision came down to a tradeoff between system overhead and decoupling framerates . With Silverlight, we went with a lighter weight on-thread approach and did not isolate your application code from the rendering system. That means you can do more in your animation (like have layout-based animation or custom code running) and there is minimal latency and overhead getting to the rendering system. The down side is if you do too much, you can interfere with operations such as video playback.
That said, the Silverlight rendering system will take advantage of multi-core processing and use many threads to speed up rendering for it. So, rendering is rarely "on thread," (感觉是笔误,应为 "one thread") but it is synchronized with your app to avoid synchronization plus copies of data.

当然Silverlight for Desktop中并不是所有的系统代码都在一个UI thread中,还有一些 子线程用来处理rame rasterization, media decoding and GPU marshalling等操作

Silverlight for Windows Phone却设计了一个单独的render thread, Seema Ramchandani的Siverlight Performance on the Windows Phone 的演示中提到:

图:Silverlight for Windows Phone 中的render thread 能做什么


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值