- UID
- 71046
- 帖子
- 9
- 精华
- 0
- 贡献
- 0
- 推广
- 0
- 有效BUG
- 0
- 注册时间
- 2007-9-29
|
本帖最后由 hbd 于 2009-9-5 19:07 编辑
最近发现TW3在新开页面时,页面停顿、CPU占用突然增高问题越来越严重,极其影响使用,并给口碑非常好的TW带来了不少问题。同时搜索发现很多人也遇到了类似的情况。今天下午仔细把TW3的各个版本做了大量试验和比对,发现一些问题,供开发团队和网友参考,当然不能涵盖所有的计算机假死情况,但我敢肯定是最大的元凶。结果如下:
对比的版本包括(几乎所有版本):3.0.0.5 3.0.0.9 3.0.1.5 3.0.1.6 3.0.2.4 3.0.2.5 3.0.2.8 3.0.3.6 3.0.3.9 3.0.4.1 3.0.4.5 3.0.4.9 3.0.5.7 3.0.5.9
1。简单的答案:不假死的最高版本是:3.0.2.8 不过目前服务器上已经下载不到。如果有需要我再放上来。
简单的原因:TW新版本对FLV内容的处理的脚本有问题。涉及C:\WINDOWS\system32\jsCHS.dll等相关操作。
前提条件:
(1)我的计算机的“内存”以及“页面缓存pagefile”、IE临时文件、系统临时文件 实际都在我的3G内存RAM中运行,所以几乎不涉及磁盘读取延迟、运行速度慢等造成的其他假死影响,这类问题导致的其他假死和计算机反应迟缓与本文无关。很多软件冲突都会导致假死,其余的不涉及TW本身问题的不讨论。
(2)我的CPU不是太快,两年前买的笔记本,酷睿双核。所以不至于由于CPU太快而使有的人觉得“没有假死”。
下面继续:
2。基于亲自的大量测试。请特别注意:我分别做了多页面负载、极少页面、是新开页面还是原页面内看新网页、有无Flash、是否执行页面脚本、有无所谓的“拖拽导致的死机”、加载/卸载各个扩展功能组件、自定义设置各个选项影响、鼠标手势、有无CPU内存优化、有无防假死选择、多进程/混合进程模式 等等大量测试,并切确保每次只有一项改动以确保找出问题所在。所以上面的问题已经涵盖并考虑。
■■3。结果发现,无论你已经开的页面数目是多少,只要你新开的页面(包括在原页面内打开)包含有Flash,则假死情况就会出现。这里的假死实际上是几秒内CPU突然100%占用,每个TW进程分割100%的一部分。只不过页面多了你会更清楚的观察到。与SWF无关。
4。测试对比:A:TW从 3.0.3.6以后的各版本 B。老版TW3.0.2.8
■■这样就会看出差别:
启动新版TW3,开一个页面youku的http://news.youku.com/n/china 另外再开几个极其简单的google主页。这时候不会出现什么问题。
然后你用youku页面里的某个Flash(FLV)链接打开一个新页面(或者在本页内打开),这时观察每个TW进程的实时CPU占用,你就会发现,不一会儿系统的CPU就100%了。当页面比较多的时候,每个闲置的页面都在忙活占用CPU(和他们有什么相干阿?!),当页面比较多的时候,需要几秒才能忙完,然后新的FLV视频页面就出现了,鼠标也能对TW操作了。而老版本TW3.0.2.8完全没有问题!!不信大家可以试试。如果您这样试验了还没发现问题,那说明您遇到的是其他计算机假死情况。
5。上截图(稍后)
6。TW假死时,文件读写的操作不多,几乎仅涉及C:\WINDOWS\system32\jsCHS.dll,顶多再加上个C:\WINDOWS\system32\mshtml.tlb 我觉得应该是TW新版本对脚本部分的修改导致。由于TW3.0.2.8完全没有这个问题,所以开发人员应该比较好定位。
7。怀疑是对FLV视频的“显示视频播放器的提示”功能导致!也就是那个在FLV视频上显示“打开播放器”的功能。不过他确实太好了!
■■总结:如果你的TW3假死时,打开的页面包含FLV视频,那么换用老版TW3.0.2.8很可能就彻底摆脱困扰了。
大家先看着,我继续补充 |
-
1
评分人数
-
|