84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
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来完成吗?理论上应该不会