精华内容
下载资源
问答
  • 2021-05-06 17:27:43

    1 什么是硬件加速
    硬件加速是指,应用程序使用计算机硬件的能力,比软件实现的功能能够更有效地执行某些操作。在 Chrome/Chromium 浏览器中,硬件加速能够利用计算机的图形处理单元(GPU)来处理图形密集型任务,例如:播放视频、浏览地图、网页渲染、游戏或需要更快数学运算的任何内容。通过分离特定任务,您的 CPU 就有机会专注于处理其它事务,而 GPU 则专门负责处理图形密集型任务的进程。
    在这里插入图片描述

    2 硬件加速包括哪些内容
    硬件加速通常包括3D图形加速和视频硬件解码加速两部分。

    3 支持硬件加速需要满足哪些条件
    硬件(一般是GPU显卡)要支持,当前Intel的CPU处理器一般都内置有GPU显卡,而国产化芯片目前大都没有内置的GPU,所以需要使用外置显卡实现硬解加速;
    安装有正确的GPU驱动程序:linux系统下,要安装配置VAAPI驱动。
    操作系统和浏览器都必须支持硬件加速。
    浏览器必须支持硬件加速。

    4 如何开启/关闭硬件加速
    浏览器一般默认开启硬件加速功能,如果要控制,可以在地址栏输入:“chrome://settings”;在高级菜单项中,可以看到“使用硬件加速模式(如果可以)”开关。这个开关开启和关闭所有硬件加速的功能,包括3D加速和硬解码加速。
    如果只要单独开启或关闭硬件解码加速,则在地址栏输入: “chrome://flags/”;找到Hardware-accelerated video decode选项,选择Enabled/Disabled打开或关闭。

    5 双显卡的支持情况
    在有些情况下设备可能配置多显卡,比如集显和一个外置的独显。对于chromium而言,不建议使用独立显卡进行多路解码显示,因为独立显卡的视频硬解码能力一般不如Intel的集成显卡。建议在实际应用中,把显示器插在集成显卡上,以使用Intel的显卡进行硬件解码显示。

    6 排查浏览器是否支持硬件加速
    在地址栏输入:“chrome://gpu/”,在“GraphicsFeature Status”中查看“video decode”、“WebGL”、“WebGL2”等等选项是否显示为绿色的“Hardware accelerated”,如下图。
    在这里插入图片描述

    在Video acceleration information中可以看到支持的类型:
    在这里插入图片描述
    7 支持硬件加速的高性能浏览器的基本特点
    目前,chrome浏览器在windows上对硬件加速的支持比较好,比如支持H264的硬件解码、WEBGL渲染等等。但是对于HEVC硬解码,或者linux以及各类国产化OS上的硬件加速的支持基本没有,需要进行定制化开发。浏览器手艺人团队定制开发的chromium内核浏览器目前可以:

    1. 支持:各类国产化芯片(飞腾、龙芯、兆芯、海光、鲲鹏等)利用外置显卡进行硬件渲染或编解码的加速;
    2. 支持windows、linux、android、uos等各类操作系统;
    3. 支持HEVC、H264、VP9等主流视频格式的硬解码。

    (注:更多技术内容,请关注微信公众号(浏览器手艺人),公众号留言或发送邮件至browser_craftsman@163.com。)

    更多相关内容
  • 不知道大家是否知道,在使用Chrome浏览器的时候,如果有遇到打开网页速度慢的问题,一般是因为Chrome浏览器开启了硬件加速导致的,这时候我们只需要将硬件加速关闭即可。那么,Win10系统Chrome浏览器怎么关闭硬件...

    不知道大家是否知道,在使用Chrome浏览器的时候,如果有遇到打开网页速度慢的问题,一般是因为Chrome浏览器开启了硬件加速导致的,这时候我们只需要将硬件加速关闭即可。那么,Win10系统Chrome浏览器怎么关闭硬件加速呢?下面,我们就一起往下看看Win10系统Chrome浏览器关闭硬件加速的方法。

    方法/步骤

    方法一

    1、在打开的Chrome浏览器主界面,点击右上角的“打开菜单”按钮;

    04c5e9a28586d8afebd6c13235c2b6e9.png

    2、在弹出的下拉菜单中,点击“设置”菜单项;

    4c32c3dc9be80ced791c53b43c85670c.png

    3、这时就可以打开Chrome浏览器的设置页面,点击左上角的“设置”快捷链接;

    ff672a9f14518f19b4aec53da3bddfa9.png

    4、在弹出的下拉菜单中,点击“高级”菜单项;

    67b90694087ae0ca2d8019841ce0e95a.png

    5、然后在展开的菜单中,点击“系统”菜单项;

    5c9f8884b89a561914b06455e1b809c1.png

    6、在右侧打开的系统设置页面中,找到“使用硬件加速模式(如果可用)” 一项,把其后面的开关设置为关闭就可以了。

    705b1325963119c8e9663a822896beea.png

    方法二

    1、另外我们也可以在地址栏输入chrome://flags,然后按下回车键;

    6e459aea447c95d59fc1b1efaf38e65a.png

    2、在打开的页面中上面搜索框输入gpu进行搜索;

    ffb1362b02d5413b2f1f0c70b7f3b347.png

    3、把相关的设置项全部修改为Disabled即可,这样也可以关闭GPU加速。

    0397e632ebf980ab73399698550843e8.png

    以上就是Win10系统Chrome浏览器关闭硬件加速的具体方法,按照以上方法进行操作,就能轻轻松松的关闭硬件加速了。

    展开全文
  • 这个如果排除了网速和打开的对象网站不存在问题的话,那就只有一个可能,就是Chrome浏览器开启了硬件加速,这个确实会影响网页打开速度,那我们怎么在Win10系统操作Chrome浏览器关闭硬件加速呢?请看下面的方法就...

    正常在Win10系统上打开一个网页的时间也就是一两秒,但是最近有位用户表示自己每次在Win10系统上用Chrome浏览器打开网页都非常慢,这个如果排除了网速和打开的对象网站不存在问题的话,那就只有一个可能,就是Chrome浏览器开启了硬件加速,这个确实会影响网页打开速度,那我们怎么在Win10系统操作Chrome浏览器关闭硬件加速呢?请看下面的方法就知道了。

    方法/步骤

    方法一

    1、在打开的Chrome浏览器主界面,点击右上角的“打开菜单”按钮;

    22181d018decd22c7ac3be2d400cdb39.png

    2、在弹出的下拉菜单中,点击“设置”菜单项;

    975dcd6e88c370773c6bd0c4d7007f46.png

    3、这时就可以打开Chrome浏览器的设置页面,点击左上角的“设置”快捷链接;

    ee5662559b3cc07558d0deba250e01dd.png

    4、在弹出的下拉菜单中,点击“高级”菜单项;

    0151ad237d1ec7ba77ea17cc7084547a.png

    5、然后在展开的菜单中,点击“系统”菜单项;

    f20e1ec1deab13ce840f3e17e7327af9.png

    6、在右侧打开的系统设置页面中,找到“使用硬件加速模式(如果可用)” 一项,把其后面的开关设置为关闭就可以了。

    31bf50f6a65b232c34ce534c08a77701.png

    方法二

    1、另外我们也可以在地址栏输入chrome://flags,然后按下回车键;

    3df1741e7fc2beaa3948c18604818176.png

    2、在打开的页面中上面搜索框输入gpu进行搜索;

    edb990e476807825d7a2a973e715f768.png

    3、把相关的设置项全部修改为Disabled即可,这样也可以关闭GPU加速。

    0c0862917c6a184f75666c7679fa205a.png

    上面的内容,大家都看完了吧,现在知道怎么在Win10系统上关闭Chrome浏览器的硬件加速了,如果还有用户因硬件加速导致打开网页慢的问题,不妨参考一下此篇内容,希望本篇分享结束之后,大家都可以在Win10系统用Chrome浏览器正常打开网页。

    展开全文
  • 浏览器硬件加速机制

    千次阅读 2018-09-11 10:44:31
    微信公众号:爱写bugger的阿拉斯加 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和做的笔记。...硬件加速技术是指:使用 GPU ...

    微信公众号:爱写bugger的阿拉斯加
    如有问题或建议,请后台留言,我会尽力解决你的问题。

    前言

    此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和做的笔记。

    而【WebKit 技术内幕】是基于 WebKit 的 Chromium 项目的讲解。

    书接上文 浏览器内核之渲染基础

    1. 硬件加速基础

    1.1 概念

    硬件加速技术是指:使用 GPU 的硬件能力为帮助渲染网页,在为 GPU 的作用主要是用来绘制 3D 图形并且性能特别好。

    对于 GPU 绘图而言,当网页分层之后,部分区域的更新可能只在网页的一层或者几层,而不需要将整个网页都重新绘制。 通过重新绘制网页的一个或者几个层,并将它们和其他之前绘制完的层合成起来,既能使用 GPU 的能力,又能减少重绘的开销。

    每个 RenderLayer 对象都有一个后端存储与其对应,好处是:当每一层更新的时候,WebKit 只需要更新 RenderLayer 对象包含的节点即可。所以当某一层有作保更新的时候,WebKit 重绘该层的所在内容, 这是理想的情况。现实中,由于硬件能力和资源有限。为了节省 GPU 的内存资源,硬件加速机制在 RenderLayer 树建立之后需要做三件事情来完成网页的渲染。
    - WebKit 决定将哪些 RenderLayer 对象组合在一起,形成一个有后端存储的新层,这一新层不久后会用于之后的合成(Compositing),这里面称之为合成层(Compositing Layer)。每个新层都有一个或者多个后端存储,这里的后端存储可能是 GPU 的内存。对于一个 RenderLayer 对象,如果它没有后端存储的新层,那么就使用它的父亲所使用的合成层。
    - 将每个合成层包含的这些 RenderLayer 内容绘制在合成层的后端存储中,这里的绘制可以是软件绘制也可以是硬件绘制。
    - 由合成层(Compositor)将多个合成层合成起来,形成网页的最终可视化结果,实际就是一张图片。 合成器是一种能够将多个合成层按照这些层的前后顺序、合成层的 3D 变形等设置而合成一个图像结果的设施。

    在 WebKit 中,只有把编译的 C 代码宏(macro)“ACCELERATED_COMPOSITING” 打开之后,硬件加速机制才会被开启,有关硬件加速的基础设施才会被编译进去。

    1.2 WebKit 硬件加速设施

    一个 RenderLayer 对象如果需要后端存储,它会创建一个 RenderLayerBacking 对象,该对象负责 RenderLayer 对象所需要的各种存储。理想情况下,每个 RenderLayer 都可以创建自己的后端存储,但事实上不是所有 RenderLayer 都有自己的 RenderLayerBacking 对象。如果一个 RenderLayer 对象被 WebKit 按照一定的规则创建了后端存储,那么该 RenderLayer 被称为合成层。

    每个合成层都有一个 RenderLayerBacking, RenderLayerBacking 负责管理 RenderLayer 所需要的所有后端存储,因为后端存储可能需要多个存储空间。在 WebKit 中,存储空间使用 GraphicsLayer 类来表示。

    image.png

    其中图中的 GraphicsLayer 表示 RenderLayer 中前景层、背景层所需要的一个后端存储。每一个 GraphicsLayer 都使用一个 GraphicsLayerClient 对象,该对象能够收到 GraphicsLayer 的一些状态更新信息,并且包含一个绘制该 GraphicsLayer 对象的方法,RenderLayerBacking 继承于该类。GraphicsLayer 是 WebKit 中的基础类,主要定义一套标准接口。

    如果一个 RenderLayer 对象具有以下特征之一,那么它就是合成层。

    • RenderLayer 具有 CSS 3D 属性或者 CSS 透视效果。
    • RenderLayer 包含的 RenderObject 节点表示的是使用硬件加速的视频解码技术的 HTML5 “video” 元素。
    • RenderLayer 包含的 RenderObject 节点表示的是使用硬件加速的 Canvas 2D 元素或者 WebGL 技术。
    • RenderLayer 使用了 CSS 透明效果的动画或者 CSS 变换的动画。
    • RenderLayer 使用了硬件加速的 CSS Filters 技术。
    • RenderLayer 使用了剪裁(Clip)或者反射(Reflection)属性,并且它的后代中包括一个合成层。
    • RenderLayer 有一个 Z 坐标比自己小的兄弟节点,且该节点是一个合成层。

    这么做的原因有三个:
    首先当然是合并一些 RenderLayer 层,这样可以减少内存的使用量;
    其二是在合并之后,尽量减少合并带来的重绘性能和处理上的困难;
    其三对于那些使用单独层能够显著提升性能的 RenderLayer 对象,可以继续使用这些好处。

    image.png

    为什么一个 RenderLayerBacking 对象需要这么多层?原因有很多,例如,WebKit 需要将滚动条独立开来称为一个层,需要两个容器层来表示 RenderLayer 对应的 Z坐标为正数的子女和 Z 坐标为负数的子女,需要滚动的内容建立新层,还可能需要剪裁层和反射层。

    图 8-4 中的树状结构描述了所有层的绘制顺序,按照先根顺序遍历的结果即是绘制顺序,图中每个层就是一个 GraphicsLayer 对象。

    image.png

    管理这些合成层等工作的是 RenderLayerCompositor 类,可以说是个 “大管家”。

    1.3 硬件渲染过程

    首先,WebKit 决定哪些些是合成层并为它们分配后端存储。

    其次,WebKit 需要遍历和绘制每一个合成层,也就是每个合成层可能有一个或者多个 RenderLayer 对象。

    最后,渲染引擎将所有绘制完的合成层合成起来,这个是由 WebKit 的移植来完成的。

    1.4 3D 图形上下文

    WebKit 中的 3D 图形上下文主要是提供一组抽象接口,这组接口能够提供类似 OpenGLES(使用 GPU 硬件能力的 3D 图形应用编程接口)的功能,其主要目的当然是使用 OpenGL 绘制 3D 图形的能力。这一层抽象能够将 WebKit 各个移植的不同部分隐藏起来,WebCore 只是使用统一的抽象接口。在 WebKit 中,3D 图形上下文的主要用途是 WebGL,当然启用硬件加速的 Canvas2D 等 HTML5 技术也会使用 3D 图形技术,不过情况有些不同。

    1.2 Chromium 的硬件加速机制

    1.2.1 GraphicsLayer 的支持

    GraphicsLayer 对象是对一个渲染后端存储中某一层的抽象,同众多其他 WebKit 所定义的抽象类一样,在 WebKit 移植中,它还需要具体的实现类来支持该类所要提供的功能。

    1.2.2 框架

    在 Chromium 中,所以使用 GPu 硬件加速(也就是调用 OpenGL编程接口)的操作都是由一个进程(称为 GPU 进程)负责来完成的,这其中包括使用 GPU 硬件来进行绘图和合成。

    Chromium 是多进程架构,每个网页的 Renderer 进程都是将之前介绍的 3D 绘图和合成操作通过 IPC 传递给 GPU 进程,由它来统一调度并执行。

    在 Chromium 的 Android 版本中,GPU 进程并不存在, Chromium 是将 GPU 的所有工作放在 Browser 进程中的一个线程来完成,这得益于结构设计的灵活性。但是本质上,GPU 进程和 GPU 线程并无太大区别。

    image.png

    上图 描述了 Chromium 的多进程架构中 GPU 进程同其他进程之间的联系,事实上每个 Renderer 进程都依赖 GPU 进程来渲染网页,当然 Browser 进程也会同 GPU 进程进行通信,其作用是创建该进程并提供网页渲染过程最后绘制的目标存储。

    那么 GPU 进程和 Render 进程是如何同步这些命令的呢?答案是,GPU 进程处理一些命令后,会向 Renderer 进程报告自己当前的状态, Renderer 进程通过检查状态信息和自己的期望结果来确定是否满足自己的条件。

    GPU 进程最终绘制的结果不再像软件渲染那样通过共享内存传递给 Browser 进程,而是直接将页面的内容绘制在浏览器的标签窗口内。

    1.2.3 命令缓冲区

    命令缓冲区(Command Buffer)主要用于 GPU 进程和 GPU 的调用都进程传递 GL 操作命令。从接口上来讲,这一设计只提供一些基本的接口来管理缓冲区,宽并没有对缓冲区的具体方式和命令的类型进行任何限制,不过目前 Chromium 只有 GLES 一种实现方式。

    1.2.4 Chromium 合成器(Chromium Compositor)

    合成器的作用就是将多个合成层合成并输出一个最终的结果,所以它的输入是多个待合成的合成层,每个层都有一些属性(如 3D 变形等),它的输出就是一个后端存储,例如一个 GPU 的纹理缓冲区。

    Chromium 合成器是一个独立并且复杂的模块,它的作用是合成网页划分后的合成层。

    总结

    • 硬件加速是指用GPU的硬件能力来渲染网页,GPU的主要作用是用来绘制3D图形并且有很好的性能,对于GPU绘图而言,通常不像软件渲染那样只是计算其中更新的区域,一旦有新的更新请求,如果没有分层,引擎可能会重新绘制所有的区域,因为计算更新部分对GPU来说可能耗费更多的时间,当网页分层之后,部分区域的更新可能只在一层或几层,而不需要更新整个网页,通过重新绘制网页的一个或几个层,并将它们和其他之前绘制完的层合成起来,既能使用GPU的能力,又能够减少重绘的开销。

    最后

    希望本文对你有点帮助。

    下期分享 【第九章 JavaScript 引擎】 敬请期待。

    送上 资源分享——Python、Java、Linux、Go、vue、react、javaScript

    对 全栈开发 有兴趣的朋友可以扫下方二维码关注我的公众号 —— 爱写bugger的阿拉斯加

    分享 web 开发相关的技术文章,热点资源,全栈程序员的成长之路。

    大家一起交流成长。

    爱写bugger的阿拉斯加

    展开全文
  • 方法一:修改相应配置 在Edge浏览器地址栏输入: edge://flags 在上方搜索: Choose ANGLE graphics backend Default下拉框选择“D3D9"或者"OpenGL...方法二:直接关闭硬件加速,但可能会导致浏览器性能变差。 ...
  • 懂得电脑的用户就知道,硬件加速就是利用硬件模块来替代软件算法...硬件加速可以让浏览器利用GPU来加速渲染,从而减轻CPU的负荷。但是部分电脑不支持硬件加速或者开启硬件减速资源占用增加,所以需要关闭硬件加速。...
  • 除了大部分浏览器软件中都存在的常见功能外,谷歌旗下的Chrome浏览器还有一项特殊的功能——“硬件加速模式”,但在某些版本中硬件加速模式是需要手动开启的!那么,谷歌浏览器要怎么开启硬件加速模式?下面就让我们一...
  • chrome硬件加速Google Chrome comes equipped with hardware acceleration, a feature which takes advantage of your computer’s GPU to speed up processes and free vital CPU time. However, sometimes driver ...
  • 前言 最近在看在github上看iscroll的文档。...平时我们写的css3动画(没有触发硬件加速的)都是使用浏览器缓慢的软件渲染引擎来执行,字面上意思就是没有开启硬件加速。比如有时候写的移动端网页的动画(比如
  • 回答1:硬件加速是用显卡的GPU解码视频,几乎不占用CPU。在播放高清视频时CPU不给力就会卡,不卡也会占用率很高。开启硬件加速是让显卡分担了CPU的解码工作,所以你可以再开别的程序也不会卡。   回答2:硬件加速...
  • Android硬件加速相关问题总结 2019-07-31阅读 2040 从Android 3.0开始就支持硬件加速,充分利用GPU的特性,使得绘制View的时候更加平滑。例如在ListView(GridView)或者WebView中使用硬件加速就会使得页面更加流畅...
  • 当先,我们下载的浏览器几乎都会开启硬件加速功能,浏览器开机硬件加速的好处就是提升浏览器自身运行速度和网页渲染速度,尤其是在线视频的渲染速度,火狐浏览器硬件加速默认开启的,但有很多朋友对浏览器硬件加速不...
  • 初探GPU硬件加速

    千次阅读 2021-06-03 10:28:23
    三、硬件加速的启用 四、拓展 一、概述 项目开发中遇到因启用硬件加速导致的闪屏问题,特此整理相关基础知识,已备后续查阅。 二、基本概念 概念1:什么是GPU GPU是显卡上的一块芯片,英文全称Graphics ...
  • 可能是关闭硬件加速; 设置了: webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 或者: <WebView android:id="@+id/base_web" android:layout_width="match_parent" android:layerType=
  • 电脑中如何开启3d硬件加速?这是近来不少朋友都向小编咨询的问题。其实,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。下面,系统城小编就给大家带来的关于3d硬件加速怎么开启的内容,...
  • 现在的显卡性能是越来越强,所以捏,很多软件觉得只利用处理器来运算稍微有点亏,把显卡也拉进来一起干活效果可以更好一些,这在Windows中有个专用名词叫硬件加速(Hardware acceleration)。这个功能在某些时候还是很...
  • 如果显卡性能不足或者驱动程序版本较低,或者在浏览器的设置中关闭了GPU硬件加速选项,那么就可能导致IE9在显示网页中的3D图形时性能降低、反应缓慢、也有可能在看视频时只有声音没有图像。 ...
  • 其实UC浏览器新版8.5对于GPU硬件加速的兼容性已经有了提升(虽然卡顿感依然比较明显...),但旧版UC浏览器在GPU硬件加速部分表现不是很给力,那么开启了GPU硬件加速选项会发生什么呢? 开启GPU硬件加速会导致部分应用...
  • css硬件加速In the last couple of years we’ve often heard about hardware acceleration and how it helps to improve animation on web pages, making them nice and smooth even on mobile browsers....
  • 我们多台设备,安装的都是谷歌Chrome浏览器,但是在从流媒体服务器拉流的时候,出现笔记本win10最新版本Chrome,台式机win7低版本Chome(版本 58.0.3029.81 (64-bit))可以看到m3u8可以拉流播放,flv也可以展示。...
  • 硬件加速可能引发以下问题,通过在清单文件里设置:android:hardwareAccelerated="false"(application或activity都可以设置此属性)即可解决 1.webwiew加载图片,设置背景,播放gif时可能出现卡顿,闪烁等问题 2....
  • 今天无聊之时,把我自己的newifi D2路由器刷了PandoraBox(潘多拉)固件,然后发现网络功能菜单中有一项“硬件加速”我之前使用的是高恪魔改固件,并没有这项硬件加速功能。因为传统NAT转发是完全取决于CPU性能的,这...
  • 如果你曾经注意到过基于WebKit的浏览器在执行某些CSS操作(尤其是transform和animation)时出现的“闪烁”,那么你很可能接触过“硬件加速”这个术语。
  • 查询了很多资料博客,给出的解决方案都是一致的,手动关闭硬件加速。于是我照做,关闭后重新运行,Fragment切换果然顺畅了,没有出现闪屏,问题完美解决。如果你以为这样就结束了,那你就太年轻了,真正的难题才刚刚...
  • CEF禁用GPU硬件加速

    千次阅读 2020-04-25 15:03:30
    CefApp::OnBeforeCommandLineProcessing( const CefString& process_type, CefRefPtr<CefCommandLine> command_line ) { command_line->AppendSwitch("disable-gpu");... command_li...
  • 浏览器知道你需要硬件加速,满足其一即可 perspective backface-visibility transform:translateZ(x) 代码示例: perspective: 1000px; backface-visibility: hidden; transform: translateZ(0);
  • 在我们日常使用VirtualBox、vmware workstation、Hyper-V虚拟机软件的时候,不知不觉我们有没有遇到这种情况,chrome浏览器或者win10/win11自带的Edge浏览器的设置栏、浏览器标签预览、浏览器扩展插件等花屏、空白不...
  • 本人电脑戴尔G3,win10系统,升级到最新显卡驱动后,再使用谷歌、edge浏览器、office后均出现屏幕闪烁的问题,经测试把浏览器和office设置里的硬件加速模式关闭即可。也可使用低版本的集显驱动解决此问题。在此把...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,171
精华内容 5,668
关键字:

关闭浏览器硬件加速

友情链接: Template_ucosIII.rar