Spotify 中 CSS 轮换的高 CPU 使用率

Posted

技术标签:

【中文标题】Spotify 中 CSS 轮换的高 CPU 使用率【英文标题】:High CPU usage with CSS rotation in Spotify 【发布时间】:2013-04-03 15:17:53 【问题描述】:

我需要在我们的 Spotify 应用中使用轮播。为此,我使用以下 CSS:

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
    @-webkit-keyframes rotate 
      from 
        -webkit-transform: rotate(0deg);
      

      to 
        -webkit-transform: rotate(360deg);
      
    

    #entity 
      background-color: #000;
      width: 200px;
      height: 200px;
      -webkit-animation: rotate 3s infinite linear;
    
  </style>
</head>
<body>
  <div id="entity"></div>
</body>
</html>

在 Chrome (26.0.1410.43) 中,CPU 使用率没有太大变化 (~3%)。但是在 Spotify 0.8.8.459.g4430eae7 中,我得到了 50% 到 100% 之间的永久 CPU 使用率。除了这段代码之外,Spotify 的本机负载颤动器也会发生同样的情况。我的电脑是 MacBook Pro 2.5 GHz Intel Core i5,8 GB 1600 Mhz DDR3 主内存,Mac OS 10.8.1。如何以更少的 CPU 使用率实现这种轮换?

【问题讨论】:

Spotify 内部不使用 Chrome。可能使用一些自定义的其他 Webkit 实现,其性能不如 chrome。 【参考方案1】:

Spotify 中的 Chromium 版本根本不支持硬件加速,因此像这样的 CSS 转换会产生非常大的开销。

【讨论】:

【参考方案2】:

尝试强制硬件加速:

 #entity 
   -webkit-transform: translate3d(0, 0, 0);
 

来源:http://davidwalsh.name/translate3d

【讨论】:

以上是关于Spotify 中 CSS 轮换的高 CPU 使用率的主要内容,如果未能解决你的问题,请参考以下文章

CSS 使用CSS进行文本轮换

CSS 减少Css轮换

css 景观轮换通知

CSS 文字轮换

html中css怎样实现点击轮换效果轮播画面

在印度使用 Spotify iOS SDK