IE 下VML动画的奇怪现象:GWTCanvas基于定时器的图形动画当鼠标移动时停止动画效果(直接用VML写代码效果也一样)

问题描述:在IE下做VML动画,动画会因为鼠标不停移动而停止(只要面积较大)。即使绘制非常简单的图形(但是面积较大),这种情况也会发生。鼠标不动就不会发生。

 

软硬件情况:IE或以IE为核的浏览器,我的机器内存,CPU都比较快。

 

问题研究:出现这种情况如果只是GWTCanvas在绘制时存在这样的问题,很可能是GWTCanvas封装得不好。但后来用VML直接试也有相同问题,这就让我比较肯定这是M$的问题了。具体的,我做了一下三个实验:

1. 动画由小图形(同时图形是只由几个线条构成的简单图形),结果当然是又快又好,鼠标在上面怎么动都不影响动画。

2. 动画由小图形(同时图形是只由很多线条构成的复杂图形),结果也是是又快又好,鼠标在上面怎么动都不影响动画。

3. 动画由大图形(同时图形是只由几个线条构成的简单图形),结果鼠标在上面一移动,动画就停止了。

 

我并没有写相应鼠标移动事件的event handler。为什么IE会停止对定时器的相应呢?IE内部对鼠标事件的处理的优先级比定时器事件的优先级高? 或者是IE的VML在重绘时有严重的问题? 没办法,我的建议是:如果你要画的图形比较大,又是动画。请你在VML中控制要显示给用户部分。不要把控制权交给VML,交给M$.

 

谁也碰到类似问题了吗?有人(M$er)看过IE/VML的内核代码吗?

这个问题已经提交到gwt-incubator的开发组了,虽然我认为这不是GWTCanvas的问题,但论坛里的人还是建议我把问题提交到这里:gwt-incubator issue

我的问题提交到google groups的这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值