我正在制作一个使用css3动画的网站,在Safari和Firefox中运行得非常完美,但是在Chrome中性能非常差(约15 fps)。这些动画非常简单,基本上是一些大圆形叠加而成。我还使用javascript添加了几个png精灵动画。我知道硬件加速,但我不认为这是问题所在,似乎是Chrome独有的一些怪癖。CSS动画单独执行时表现良好,但一旦添加精灵,性能就会显著下降。请参考http://triple-tested.com/animations/。
这是我编写的用于动画精灵的代码,但正如我所说的,在Safari和Firefox中表现完美,因此我认为这不是问题。Chrome似乎在同时使用CSS和精灵进行动画处理时存在问题。
我尝试了我能在网上找到的一切,但如果有人有任何建议,请告诉我。
顺便说一下,我正在使用最新的Mac稳定版Chrome(17.0.963.93)。
你可以在这里看到CSS(使用less) http://triple-tested.com/animations/css/style.less
$.fn.spriteme = function(options) {
var settings = $.extend({ framerate: 30 }, options);
return this.each(function(){
var $el = $(this),
curframe = 0,
width = settings.width,
fr = 1000/settings.framerate;
(function animloop(){
if(curframe == settings.frames) { curframe = 0; }
$el.css('background-position', (curframe*width)*-1 + 'px center');
curframe++;
setTimeout( animloop, fr );
})();
});
};
这是我编写的用于动画精灵的代码,但正如我所说的,在Safari和Firefox中表现完美,因此我认为这不是问题。Chrome似乎在同时使用CSS和精灵进行动画处理时存在问题。
我尝试了我能在网上找到的一切,但如果有人有任何建议,请告诉我。
顺便说一下,我正在使用最新的Mac稳定版Chrome(17.0.963.93)。
你可以在这里看到CSS(使用less) http://triple-tested.com/animations/css/style.less