用CSS开启硬件加速来提高网站性能

news/2024/5/11 16:28:28/文章来源:https://blog.csdn.net/weixin_33795093/article/details/90656736

国外一篇文章,有点意思,转载过来,准备尝试下~

中文地址:http://www.cnblogs.com/rubylouvre/p/3471490.html

原文地址:http://blog.teamtreehouse.com/increase-your-sites-performance-with-hardware-accelerated-css

 

你知道我们可以在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能吗?

现在大多数电脑的显卡都支持硬件加速。鉴于此,我们可以发挥GPU的力量,从而使我们的网站或应用表现的更为流畅。

在桌面端和移动端用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可能会导致严重的性能问题,因为它增加了内存的使用,而且它会减少移动端设备的电池寿命。

你有在项目中使用过这些方法吗?如果有,请分享你的精彩案例吧。

作者:白树

出处:http://peunzhang.cnblogs.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_835296.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站伸缩性架构--数据存储服务器集群的伸缩性设计

1.分布式缓存的伸缩性设计 1.1Memcached分布式缓存集群的访问模型 1.2分布式缓存的一致性Hash算法 2.数据库存储服务器集群的伸缩性设计 数据库存储服务器集群的伸缩性设计对数据的持久性和可用性提出了更高的要求。数据存储服务器必须保证数据的可靠存储,任何情况下…

python爬取网站美女图片

今天周五,项目刚刚上线完,有些时间,闲着无聊,继续复习爬虫,这次打算爬取网站的美女图片。得先找到目标,然后目标网站还不会反爬虫,因为自己只是小白,好了开始。寻找目标,…

微软企业库5.0 学习之路——第四步、使用缓存提高网站的性能(EntLib Caching)

首先先补习下企业库的Caching Application Block的相关知识: 1、四大缓存方式,在Caching Application Block中,主要提供以下四种保存缓存数据的途径,分别是:内存存储(默认)、独立存储&#xff0…

零碎笔记:浏览器访问一个网站所经历的步骤

浏览器访问一个网站所经历的步骤 Chrome搜索自身的DNS缓存搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)查看Chrome浏览器的DNS缓存信息(chrome://net-internals/#dns):读取本地HOST文件 浏览器发起一个DNS的一个系统调用 宽…

SEO独家干货:利用外链投票模型操作新站快速排名

今年我在卢松松博客投稿了不少的干货文章,其中有一篇叫做“SEO外链算法独家揭秘”,里面提到了很多朋友或许都没有思考到的点,我一直相信,在搜索引擎优化当中,当任何一个点优化到极致,你的排名将顺从着你的极…

如何利用网站博客打造个人品牌

如果你正在计划在网上创业,最好的方法就是建立自己的网络明星地位,获得更多关注和取得潜在客户的信任,那就是打造自己的个人品牌。下面懒人创富为你准备了一个用博客打造个人品牌的方法步骤,建议你收藏下来: 1.确定你的…

《大型网站服务器容量规划》一2.2 服务器容量规划的源由

本节书摘来异步社区《大型网站服务器容量规划》一书中的第2章,第2.2节,作者: 郑钢 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.2 服务器容量规划的源由 为什么要做容量规划呢?当…

Mozilla 推出免费的网站安全测试服务

Mozilla 安全工程师 April Knight 发布了一个名叫 Observatory 的项目,旨在为大家提供一款类似于 SSL Labs、High-Tech Bridge 等扫描服务的免费版网站安全扫描工具。这项服务基于 GitHub 上的一个 Python 代码库,开发历时好几个月,并终于在昨…

PS网页设计教程II——在Photoshop中创建健康及营养或健身的网站

作为编码者,美工基础是偏弱的。我们可以参考一些成熟的网页PS教程,提高自身的设计能力。套用一句话,“熟读唐诗三百首,不会作诗也会吟”。 本系列的教程来源于网上的PS教程,都是国外的,全英文的。本人尝试翻…

思维导图形式带你读完《大型网站技术架构》中

下面所有图片原图及思维导图源文件和软件,欢迎关注我的微信公众号:"Java面试通关手册" 后台回复 “大型网站技术架构” 免费领取。 5 万无一失:网站的高可用架构 6 永无止境:网站的伸缩性架构 7 随机应变:网站的可扩展架…

web网站如何实现兼容手机

web网站如何实现兼容手机 一、总结 一句话总结&#xff1a;加上这句话即可&#xff1a;<meta name"viewport" content"widthdevice-width,initial-scale1.0">。 1、移动设备上的三个viewport是哪三个&#xff0c;分别代表什么&#xff1f; ppk把移动…

阿里云助力中小企业建站 在线免费自助建站成新用户首选...

阿里云助力中小企业建站 在线免费自助建站成新用户首选 提供云计算服务的行业头部企业-阿里云&#xff0c;对于广大中小企业来说&#xff0c;应该都不陌生。在企业需要建设自己官方网站&#xff0c;或者个人需要建设个人网站时&#xff0c;一般都需要购买网站空间或者云服务器来…

网站导航php,【网址导航系统】基于PHP+MYSQL开发的开源网站分类目录管理系统

DYCMS的主要特性包括&#xff1a;纯净的导航界面(去繁求简)响应式设计的前端设计聚合式搜索框(一键切换百度&#xff0c; 搜狗&#xff0c;360&#xff0c;必应搜索平台)用户可自行申请收B J – C b录&#xff0c;由管理员后台审核文章管理A F 2 P W发布功能每篇文章均有评论功…

(转) Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么?...

Web 建站技术中&#xff0c;HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么&#xff1f; 建站有很多技术&#xff0c;如 HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、http://ASP.NET、Web Services、浏览器脚本、服务器脚本等。它们的区别…

http://qq.im谁能查一下这是什么网站

这网站不是腾讯的&#xff0c;浏览此网站请小心&#xff0c;不要弄丢你的QQ号等。 我5月份QQ.im被谁抢注了的时候&#xff0c;网站页面也忘了啥来着&#xff0c;非常简陋&#xff0c;好像就是联系卖此域名的。 今天又上去看了一下&#xff0c;变成了“QQ.im增值服务中心”&am…

APACHE开启GZIP提升网站JS加载速度

2016/4/18 //by xbw// win服务器下xampp搭建的服务器端&#xff0c; 我们先找到apache文件夹->找到conf文件夹->找到httpd.conf文件打开&#xff0c; 找到 LoadModule deflate_module modules/mod_deflate.soLoadModule filter_module modules/mod_filter.so LoadModule…

Google提示:西安电子科技大学计算机学院网站可能含有恶意软件

真不知道计算机学院那帮是怎么搞的&#xff0c;还不麻利点快修复阿&#xff0c;多影响声誉。

购物网站Laravel版

Web_Shop 需要代码的同学请留言 Intro Using xampp(phpmysqlapache)Using Laravel frameworkUsing BootStrap framework ScreenShot Usage step 1. git clone https://github.com/xbw12138/Web_Shop.gitstep 2. use composer php composer.phar installor composer ins…

spreadfirefox网站闪现不和谐图片被逮个正着

spreadfirefox.com出现支持的图片。该图片&#xff08;地址http://www.flickr.com/photos/22641130N05/2465538480&#xff09;保存于flickr网站&#xff0c;且该图片主人还有诸多不和谐图片。 不清楚spreadfirefox是怎么显示这些图片的&#xff0c;是自动从flickr上所有的标注…

网站排名第一的暗黑手法:标签网站中的黑帽SEO

和 Digg相似的共享书签网站 Reddit&#xff0c;用户可对所刊登内容以“支持&#xff08;up&#xff0c;上&#xff09;”或“否决&#xff08;down&#xff0c;下&#xff09;”的投票方式&#xff0c;让最热门的连结会出现在首页面的前端或是其他显著的位置。 在伦敦,一位Bla…