Ami*_*mir 11 javascript iframe multithreading
我有一个CPU密集型工作要做,我不想降低用户体验.因为网络工作者(http://ejohn.org/blog/web-workers/)是一个新功能,并不是所有浏览器都支持,我想打开一个带有HTML + JS的iframe,它将完成所有肮脏的工作,使用一些跨域通信来传递结果.不幸的是,我注意到iframe的所有者遭受了iframe窗口的CPU工作.
这种行为是否符合设计?有办法解决这个问题吗?
一种模拟多线程的方法是让Javascript函数做一些工作,然后setTimeout使用相同的函数调用; 然后该功能将做一些工作并setTimeout再次调用,这个循环将永远持续或直到他们关闭框架或你发出信号停止工作. MDN有一个很好的例子来说明如何设置它.
在超时之间,Javascript不应占用任何处理器时间.你可能需要玩一下才能看出你的超时时间应该是多长时间 - 1ms可能太短了,但1s肯定太长了.另一个因素是运行作业的计算机的处理器速度,因此您可能需要通过Javascript在客户端进行一些伪基准测试,然后才能确定每次延迟的延迟时间.
| 归档时间: |
|
| 查看次数: |
3328 次 |
| 最近记录: |