2

假设您有一个将无限循环的背景图像,我看到使用 CSS3 时,简单的动画会占用我 PC 内存的 50%,这是很多,但尚未尝试使用 jQuery。

你觉得呢?你有没有什么想法?哪一个消耗更少的PC内存?

这是我的 Webkit CSS3 代码:

.stars_back {
    background: url('stars.png') repeat; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -10;
    -webkit-animation-name: star-back; -webkit-animation-duration: 1700s;
    -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes star-back {
    from { background-position: 1000% 5% }
    to { background-position: 5% 5% }
}
4

1 回答 1

2

动画背景图像效率不高,不管是 jQuery 还是 CSS 过渡。我建议您添加一个包含背景图像的额外元素以应用硬件加速:

.stars_back {
    /* right: 100% forces the div to be twice the intended width, parent should have overflow: hidden */
    background: url('stars.png') repeat; position: absolute; top: 0; left: 0; right: 100%; bottom: 0; z-index: -10;
    -webkit-animation-name: star-back; -webkit-animation-duration: 1700s;
    -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes star-back {
    /* translate3d(-50%,0,0) puts the second half of the div in the viewport and then repeats*/
    from { -webkit-transform: translate3d(0,0,0) }
    to { -webkit-transform: translate3d(-50%,0,0) }
}
于 2013-04-28T02:37:16.647 回答