相当不错的一个属性,配合translate可以达到很好的效果,效率相当地高,但是有个问题,-webkit-transition-duration的最高帧数只有40帧,再高就高不上去了,大量元素一起运动的时候,还是会给了一种不是很流畅的感觉,而且webkitTransitionEnd时间也不错,省去了定时器的麻烦,还有那个timing-function,效果也不错,但是这40帧确实变成瓶颈了啊,实在想不通,为什么最高只给他40帧,开启GPU加速,元素多一点上60应该也是很轻松的啊,求解唉,除了自己写函数,还有别的方法能提高帧数么?多谢各位了

解决方案 »

  1.   

    自己顶,还有个问题,transform里面属性太多了啊,transition-prototype可以对应设置transition-duration的属性,但是对于transform如何设置单独的属性呢?比如translate的duration是500ms,而scale的duration为50ms,这样应该怎么做呢?
      

  2.   

    大量元素一起运动时不流畅是因为你的cpu满负荷了吧 流不流畅只跟帧数有关 跟元素多少有什么关系 不流畅是因为cpu满负荷导致帧数下降了
      

  3.   


    你可以去试试看单个元素的-webkit-transition-duration的帧数,最高就是40帧,另外,我用定时器改变translate的值的时候,相同的元素的,基本就是60帧,也做了大量的测试,基本上确定就是-webkit-transition-duration的问题,直接的GPU加速性能上是相当可观的
      

  4.   


    还有个,我之所以说大量元素一起运动时候会感觉到不流畅,其实是因为单个元素运动的时候,不大好看出来,大量元素运动的时候,就比较直观了,CSS3这些个属性目前被使用的实例还比较少啊,网上资料也不多,大家一起讨论讨论不错
      

  5.   

    更新了下Chrome的最新版本,貌似使用这个属性的帧数已经达到了60帧,看来正式版达到60帧也指日可待了
      

  6.   

    之前确实是因为浏览器的原因,chrome正式版本现在已经更新至19XXXXXX了,19之后就没有这个限制了。