就是将浏览器的渲染过程交给GPU处理,而不是使用自带的比较慢的渲染器。这样就可使得animation与transition更加顺畅。web
Chrome, FireFox, Safari, IE9+ 以及最新的 Opera都支持硬件加速,只要使用特定的CSS语句就能够开启硬件加速:chrome
/**使用3d效果来开启硬件加速**/ .speed-up { -webkit-transform: translate3d(250px,250px,250px) rotate3d(250px,250px,250px,-120deg) scale3d(0.5, 0.5, 0.5); }
若是并不须要用到transform变换,仅仅是开启硬件加速,能够用下面的语句:浏览器
/**原理上仍是使用3d效果来开启硬件加速**/ .speed-up{ -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); }
对于safari以及chrome,可能会在使用animation或者transition时出现闪烁的问题,可使用如下的解决方法:性能
-webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000; -moz-perspective: 1000; -ms-perspective: 1000; perspective: 1000; /**webkit上也能够用如下语句 **/ -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
硬件加速最好只用在animation或者transform上。不要滥用硬件加速,由于这样会增长性能的消耗,若是滥用反而会使动画变得更加卡,这样就得不偿失了。动画