CSS开启硬件加速来提高网站性能-HTML5综合

本文由 文梅画史 于 2016-1-28 5:09 发布在 HTML5综合

在桌面端和移动端用CSS开启硬件加速

CSS animations, transforms 以及 transitions 不会自动开启GPU加速,而是由浏览器的缓慢的软件渲染引擎来执行。那我们怎样才可以切换到GPU模式呢,很多浏览器提供了某些触发的CSS规则。

现在,像Chrome, FireFox, Safari, IE9+和最新版本的Opera都支持硬件加速,当它们检测到页面中某个DOM元素应用了某些CSS规则时就会开启,最显著的特征的元素的3D变换。

例如:

.cube {

-webkit-transform: translate3d(250px,250px,250px)

rotate3d(250px,250px,250px,-120deg)

scale3d(0.5, 0.5, 0.5);

}

可是在一些情况下,我们并不需要对元素应用3D变换的效果,那怎么办呢?这时候我们可以使用个小技巧“欺骗”浏览器来开启硬件加速。

虽然我们可能不想对元素应用3D变换,可我们一样可以开启3D引擎。例如我们可以用transform: translateZ(0); 来开启硬件加速 。

.cube {

-webkit-transform: translateZ(0);

-moz-transform: translateZ(0);

-ms-transform: translateZ(0);

-o-transform: translateZ(0);

transform: translateZ(0);

/* Other transform properties here */

}

在 Chrome and Safari中,当我们使用CSS transforms 或者 animations时可能会有页面闪烁的效果,下面的代码可以修复此情况:

.cube {

-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;

/* Other transform properties here */

}

在webkit内核的浏览器中,另一个行之有效的方法是

.cube {

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

-moz-transform: translate3d(0, 0, 0);

-ms-transform: translate3d(0, 0, 0);

transform: translate3d(0, 0, 0);

/* Other transform properties here */

}

原生的移动端应用(Native mobile applications)总是可以很好的运用GPU,这是为什么它比网页应用(Web apps)表现更好的原因。硬件加速在移动端尤其有用,因为它可以有效的减少资源的利用(麦时注:移动端本身资源有限)。

总结

只对我们需要实现动画效果的元素应用以上方法,如果仅仅为了开启硬件加速而随便乱用,那是不明智的。

小心使用这些方法,如果通过你的测试,结果确是提高了性能,你才可以使用这些方法。使用GPU可能会导致严重的性能问题,因为它增加了内存的使用,而且它会减少移动端设备的电池寿命。

html5不支持硬件加速,CSS开启硬件加速来提高网站性能-HTML5综合相关推荐

  1. 如何通过CSS开启硬件加速来提高网站性能

    你知道我们可以在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能吗? 现在大多数电脑的显卡都支持硬件加速.鉴于此,我们可以发挥GPU ...

  2. css硬件加速,用CSS开启硬件加速提高网站性能

    你知道我们可以在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而让渲染的性能更好吗? 现在大多数电脑的显卡都支持硬件加速,因此,我们可以利用 ...

  3. 如何加速 Web 应用程序并提高网站性能

    我们不需要提醒你快速网站加载的重要性.要么是 3 秒,要么是用户离开,因此你必须优化网站性能以符合用户的期望. 网站性能的优化是一件大事.它涉及多个方面需要照顾,其中许多取决于网站本身.其复杂性和元素 ...

  4. CSS开启硬件加速 hardware accelerated

    作者:孙志勇 微博 日期:2016年12月6日 一.时效性 所有信息都具有时效性.文章的价值,往往跟时间有很大关联.特别是技术类文章,请注意本文创建时间,如果本文过于久远,请读者酌情考量,莫要浪费时间 ...

  5. 使用CSS提高网站性能的30种方法

    根据httparchive.org的页面重量报告,CSS在平均70个请求和2MB的网页上占7个HTTP请求和70Kb的代码.这并不是网站性能糟糕的最坏原因(我正看着你呢,JavaScript),但CS ...

  6. css 开启硬件加速的属性

    让浏览器知道你需要硬件加速,满足其一即可perspectivebackface-visibilitytransform:translateZ(x)opacityfiltersWill-change优点 ...

  7. CSS3开启硬件加速及利弊

    最近了解了一下用css3开启硬件加速的这个功能,不得不感叹浏览器这些东西太神奇了,要不是师兄提起,我根本就不知道居然有这种东西.所以还是要提高一下自己的信息来源渠道的. 巴拉巴拉了一下,下面我们正式来 ...

  8. 怎么关闭计算机硬件加速,怎么关闭硬件加速?关闭硬件加速的操作技巧分享

    懂得电脑的用户就知道,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性.但是有些电脑开启这个功能会导致视频卡顿,那么怎么关闭硬件加速功能呢?下面,小编给大家介绍关闭硬件加速的操作步 ...

  9. 《HTML5游戏编程核心技术与实战》一1.1 网页游戏和HTML5

    本节书摘来异步社区<HTML5游戏编程核心技术与实战>一书中的第1章,第1.1节,作者: 向峰 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1 ...

最新文章

  1. 网页加速系列(五)、 网页加速之进阶上篇
  2. Android 使用ORMLite 操作数据库
  3. UML用例图间关系说明
  4. python 依据某几列累加求和_Python爬虫笔记:爬取单个页面
  5. linux服务器之间传输文件的四种方式
  6. php伪静态的实现方式
  7. 给2021的Java一些建议,赶紧收藏!
  8. 计算机端口联机,网络端口之二端口传输机制
  9. JRuby--Java和Ruby的强强联合 Centos7.X
  10. 仓储管理毕业论文【含matlab优化算法】
  11. 学会二次创作后,网易云批量生产“好”音乐
  12. Open Distro for Elasticsearch
  13. 电影《海贼王:红发歌姬》观后感
  14. IIS7.0 CSS、JS、图片报500错误
  15. pandoc 转换html,pandoc将markdown转换输出HTML slide
  16. 纯净简洁绿色的解压缩软件
  17. MySQL 主从同步延迟的原因及解决办法
  18. 解题:POI 2009 Lyz
  19. Armbian (jammy) 上安装 Docker
  20. Element表格数据居中

热门文章

  1. 《走进人工智能》学习笔记
  2. 所见即所得:四款免编程移动游戏开发引擎推荐
  3. Unity Render Streaming 云渲染尝鲜
  4. android下查看内存阀值限制
  5. spss modeler建模3
  6. HDU2452 Navy maneuvers 记忆化搜索
  7. ICIP2020:VVC帧内编码复杂度分析
  8. Small Object Detection using Context and Attention(论文阅读笔记)
  9. Google Java 编码规范
  10. HOW2J.CN--JAVA学习笔记