84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
css3的过渡效果,会阻塞线程么. 实验了感觉是不阻塞的, 但这时为什么呀.css的过渡是一个怎么样的原理实现的
闭关修行中......
这是一个很玄学的问题,并不能一概而论。
CSS 动画会不会阻塞JS,或者 JS 会不会阻塞 CSS 动画,答案是有时会,有时不会。这取决于 CSS 动画改变的是什么属性。
具体可以看这篇文章,注意看里面的 demo。http://www.phpied.com/css-ani...
但是具体为什么会这样,我也说不清楚。感觉这个涉及到浏览器底层原理了,希望有大神解惑。
PS: CSS 动画是可以暂停的。通过 animation-play-state: paused 实现
js运算+渲染层会,比如js的;css解析的如果硬件加速走的后端线程再返回到渲染器;不开硬件加速只在渲染器运行,只会卡自己;浏览器的主程是独立的;JS也是;
因为浏览器对单个网页的处理是单线程的
css过渡是指transiton么,是用贝塞尔插值数学函数实现的js动画才会阻塞线程吧,我记得css3动画是在主线程之外运行的。。还可以被浏览器优化,但是不能像js动画那样半路暂停滚回
CSS3不是通过GPU来完成吗?理论上应该不会
这是一个很玄学的问题,并不能一概而论。
CSS 动画会不会阻塞JS,或者 JS 会不会阻塞 CSS 动画,答案是有时会,有时不会。这取决于 CSS 动画改变的是什么属性。
具体可以看这篇文章,注意看里面的 demo。
http://www.phpied.com/css-ani...
但是具体为什么会这样,我也说不清楚。感觉这个涉及到浏览器底层原理了,希望有大神解惑。
PS: CSS 动画是可以暂停的。通过 animation-play-state: paused 实现
js运算+渲染层会,比如js的;css解析的如果硬件加速走的后端线程再返回到渲染器;不开硬件加速只在渲染器运行,只会卡自己;浏览器的主程是独立的;JS也是;
因为浏览器对单个网页的处理是单线程的
css过渡是指transiton么,是用贝塞尔插值数学函数实现的
js动画才会阻塞线程吧,我记得css3动画是在主线程之外运行的。。还可以被浏览器优化,但是不能像js动画那样半路暂停滚回
CSS3不是通过GPU来完成吗?理论上应该不会