CSS动画缓慢而缓慢 - CPU性能?

时间:2015-02-17 21:08:21

标签: jquery css animation css-animations

我正在使用css动画,但在某些页面上看起来有些迟钝,我相信由于CPU使用率。

.test {
left:50%;
position:relative;
overflow:hidden;
animation: waitandhide2 2.2s 0s, show2 2.2s 2.2s;
-webkit-animation: waitandhide2 2.2s 0s, show2 2.2s 2.2s;
-moz-animation: waitandhide2 2.2s 0s, show2 2.2s 2.2s;
animation-timing-function: ease-in-out;
-moz-animation-timing-function: ease-in-out;
-webkit-animation-timing-function: ease-in-out;
z-index:5;
}

@keyframes waitandhide2 {
    from { left:50%; opacity:1; }
    to { left:-105%; opacity:1; }
}
@keyframes show2 {
    from { left:105%; opacity:1; }
    to { left:50%; opacity:1; }
}
@-webkit-keyframes waitandhide2 {
    from { left:50%; opacity:1; }
    to { left:-105%; opacity:1; }
}
@-webkit-keyframes show2 {
    from { left:105%; opacity:1; }
    to { left:50%; opacity:1; }
}
@-moz-keyframes waitandhide2 {
    from { left:50%; opacity:1; }
    to { left:-105%; opacity:1; }
}
@-moz-keyframes show2 {
    from { left:105%; opacity:1; }
    to { left:50%; opacity:1; }
}

我已经在某处读过你可以通过使用-webkit-transform来解决这个问题:translate3d(0,0%,0);我不知道在这种情况下如何做到这一点。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我已经通过延迟动画onload来纠正了这个问题。

当它试图在页面加载时运行时,似乎更多的是一个问题,而页面正在下载许多其他元素和图像。

在更大的页面上更明显,这是有道理的。感谢。

答案 1 :(得分:1)

不是动画left:%适当的动画,而是动画translate: transform(%)。 添加-webkit-transform: translate3d(0, 0%, 0)和动画元素将创建一个单独的图层,可能有助于提高性能。然而,这是一个黑客,你应该使用意志改变这一点。