【发布时间】:2015-11-27 08:03:46
【问题描述】:
我使用以下 CSS:
.navbar .agesbar {
height: 55px;
background-image: url('/img/nicebar.jpg');
background-repeat: repeat-y;
background-position: center center;
background-size: cover;
width: 100%;
-webkit-animation: agesTicker 120s linear infinite;
animation: agesTicker 120s linear infinite;
}
@-webkit-keyframes agesTicker {
from {background-position: 0 0;}
to {background-position: -2446px 0;}
}
@keyframes agesTicker {
from {background-position: 0 0;}
to {background-position: -2446px 0;}
}
一切正常,不幸的是,它在谷歌浏览器上消耗了太多的 CPU。 (10-20%)。在 Firefox 甚至 Internet Explorer 上,它不会浪费那么多 CPU(仅 2-3%)。 我通过添加以下内容修复了高 CPU 使用率:
will-change: transform;
强制 gpu 加速,不幸的是它并不能解决性能问题,因为现在 GPU “工作更重”:笔记本电脑越来越热,我笔记本电脑的风扇声音越来越大。
我有两个问题:1. 为什么这个动画在 Chrome 上效果这么差,而在其他浏览器上却很好? 2. 这个动画有什么替代品吗,比如jquery脚本?
【问题讨论】:
标签: javascript html css