【发布时间】:2012-10-22 00:30:12
【问题描述】:
我在几个元素上使用了以下关键帧动画:
@keyframes redPulse {
from { background-color: #bc330d; box-shadow: 0 0 9px #333; }
50% { background-color: #e33100; box-shadow: 0 0 18px #e33100; }
to { background-color: #bc330d; box-shadow: 0 0 9px #333; }
}
@-webkit-keyframes redPulse {
from { background-color: #bc330d; box-shadow: 0 0 9px #333; }
50% { background-color: #e33100; box-shadow: 0 0 18px #e33100; }
to { background-color: #bc330d; box-shadow: 0 0 9px #333; }
}
.event_indicator {
display: inline-block;
background-color: red;
width: 5px;
margin-right: 5px;
-webkit-animation-name: redPulse;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
animation-name: redPulse;
animation-duration: 1s;
animation-iteration-count: infinite;
}
在我的计算机上,Chrome 和 Firefox 的 CPU 使用率都在 40% 左右。 是动画的当前状态(不错,但暂时不可用)还是我缺少一些神奇的属性?
您可以使用相同的动画查看以下示例: http://jsfiddle.net/Nrp6Q/
【问题讨论】:
-
除了高 CPU,在我的情况下,它似乎还与不断增加的内存占用有关,基于 Chrome 任务管理器。
-
@KevinBullaughey,显然,每个对象都有成本:它们占用系统 RAM 和/或 GPU 中的内存,请参阅the explanation,而且动画本身是一项相对昂贵的操作!跨度>
-
不要为 box-shadow 设置动画。而是将 box-shadow 属性移动到伪元素并为其不透明度和变换属性设置动画
-
@Denis
move box-shadow property to pseudoelement and animate it's opacity and transform properties我知道 OP 的问题已经很老了,但你能提供一个例子或参考吗?
标签: css