精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這一次,徹底搞懂 GPU 和CSS 硬件加速

商務辦公
cpu (central process) 是計算機的大腦,它提供了一套指令集,我們寫的程序最終會通過 cpu 指令來控制的計算機的運行。

[[420130]]

從 cpu 聊

起cpu (central process) 是計算機的大腦,它提供了一套指令集,我們寫的程序最終會通過 cpu 指令來控制的計算機的運行。

cpu 會對指令進行譯碼,然后通過邏輯電路執行該指令。整個執行的流程分為了多個階段,叫做流水線。指令流水線包括取指令、譯碼、執行、取數、寫回五步,這是一個指令周期。cpu 會不斷的執行指令周期來完成各種任務。

指令和數據都會首先加載到內存中,在程序運行時依次取到 cpu 里。cpu 訪問內存雖然比較快,但比起 cpu 執行速度來說還是比較慢的,為了緩解這種速度矛盾,cpu 設計了 3 級緩存,也就是 L1、L2、L3 的緩存。

如圖,多核 cpu 各核心都有自有獨立的 L1、L2 緩存,然后共享 L3 緩存,這 3 級緩存容量是逐漸遞增的,但是速度是逐漸下降的,但是也會比訪問內存快一些。

有了這 3 級緩存以后,cpu 執行速度和訪問內存速度的矛盾就可以得到緩解,不需要一直訪問內存,cpu 每次會加載一個緩存行,也就是 64 字節大小的數據到緩存中。這樣訪問臨近的數據的時候就可以直接訪問緩存。

從內存中把數據和指令加載到 cpu 的緩存中,然后通過控制器控制指令的譯碼、執行,通過運算器進行運算,之后把結果寫回內存。這就是 cpu 的工作流程。

cpu 每個核只有一個線程,也就是單控制流、單數據流。這樣的架構導致 cpu 在一些場景下效率是不高的,比如 3d 渲染的場景。

3d 渲染流程

3d 的渲染首先是建立 3d 的模型,它由一系列三維空間中的頂點構成,3 個頂點構成一個三角形,然后所有的頂點構成的三角形拼接起來就是 3d 模型。

頂點、三角形,這是 3d 的基礎。3d 引擎首先要計算頂點數據,確定 3d 圖形的形狀。之后還要對每個面進行貼圖,可以在每個三角形畫上不同的紋理。

3d 圖形要顯示在二維的屏幕上就要做投影,這個投影的過程叫做光柵化。(光柵是一種光學儀器,在這里就代表 3d 投影到 2d 屏幕的過程)

[[420132]]

光柵化要計算 3d 圖形投影到屏幕的每一個像素的顏色,計算完所有的像素之后會寫到顯存的幀緩沖區,完成了一幀的渲染,之后會繼續這樣計算下一幀。

也就是說,3d 渲染的流程是:

  • 計算頂點數據,構成 3d 的圖形
  • 給每個三角形貼圖,畫上紋理
  • 投影到二維的屏幕,計算每個像素的顏色(光柵化)
  • 把一幀的數據寫入顯存的幀緩沖區

頂點的數量是非常龐大的,而 cpu 只能順序的一個個計算,所以處理這種 3d 渲染會特別費勁,于是就出現了專門用于這種 3d 數據的并行計算的硬件,也就是 GPU。

GPU 的構成

和 cpu 的一個一個數據計算不同,gpu 是并行的,有成百上千個核心用于并行計算。

gpu 也是有著指令、譯碼、執行的流程,只不過,每個指令會并行執行 n 個計算,是單控制流多數據流的,而 cpu 是單控制流單數據流。

所以,對于 3d 渲染這種要計算成萬個頂點數據和像素點的場景,GPU 會比 CPU 高效很多。

但是,gpu 全是優點么?也不是。

cpu 和 gpu 的區別

cpu 是通用的,能夠執行各種邏輯和運算,而 gpu 則是主要是用于并行計算大批量的重復任務,不能處理復雜邏輯。

如上圖,cpu 中控制器和緩存占據了很大一部分,而 gpu 中這兩部分則很少,但是有更多的核心用于計算。

兩者對比的話,cpu 相當于一個大學生,能夠解決各種難題,但是計算 1 萬個加法就沒那么快,而 gpu 就像一幫小學生,解決不了難題,但是計算加法這種就很快,因為人多。

也就是說如果邏輯復雜,那么只能用 cpu,如果只是計算量大,并且每個計算都比較重復,那就比較適合 gpu。

3d 的渲染中有大量這種重復卻簡單的計算,比如頂點數據和光柵化的像素數據,通過 gpu 就可以并發的一次計算成百上千個。

opengl、webgl、css 硬件加速

顯卡中集成了 gpu,提供了驅動,使用 gpu 能力需要使用驅動的 api。gpu 的 api 有一套開源標準叫做 opengl,有三百多個函數,用于各種圖形的繪制。(在 windows 下有一套自己的標準叫做 DirectX)

我們在網頁中繪制 3d 圖形是使用 webgl 的 api,而瀏覽器在實現 webgl 的時候也是基于 opengl 的 api,最終會驅動 gpu 進行渲染。

css 大部分樣式還是通過 cpu 來計算的,但 css 中也有一些 3d 的樣式和動畫的樣式,計算這些樣式同樣有很多重復且大量的計算任務,可以交給 gpu 來跑。

瀏覽器在處理下面的 css 的時候,會使用 gpu 渲染:

  • transform
  • opacity
  • filter
  • will-change

瀏覽器是把內容分到不同的圖層分別渲染的,最后合并到一起,而觸發 gpu 渲染會新建一個圖層,把該元素樣式的計算交給 gpu。

opacity 需要改變每個像素的值,符合重復且大量的特點,會新建圖層,交給 gpu 渲染。transform 是動畫,每個樣式值的計算也符合重復且大量的特點,也默認會使用 gpu 加速。同理 fiter 也是一樣。

這里要注意的是 gpu 硬件加速是需要新建圖層的,而把該元素移動到新圖層是個耗時操作,界面可能會閃一下,所以最好提前做。will-change 就是提前告訴瀏覽器在一開始就把元素放到新的圖層,方便后面用 gpu 渲染的時候,不需要做圖層的新建。

當然,有的時候我們想強制觸發硬件渲染,就可以通過上面的屬性,比如

  1. will-change: transform;  

或者

  1. transform:translate3d(0, 0, 0); 

chrome devtools 可以看到是 cpu 渲染還是 gpu 渲染,打開 rendering 面板,勾選 layer borders,會發現藍色和黃色的框。藍色的是 cpu 渲染的,而黃色的是 gpu 渲染的。

比如這段文字,現在沒有單獨一個圖層:

添加一個 will-change: transform 的屬性,瀏覽器會新建圖層來渲染該元素,然后使用 gpu 渲染:

gpu 硬件加速能減輕 cpu 壓力,使得渲染更流暢,但是也會增加內存的占用,對于 transform、opacity、filter 默認會開啟硬件加速。其余情況,建議只在必要的時候用。

opencl 和神經網絡

重復且大量的計算任務只有 3d 渲染一種場景么?

不是的,AI 領域的機器學習也很典型,它的特點是大量的神經元需要計算,但是每個計算都比較簡單,也很適合用 gpu 來跑。

現在的 gpu 不只是能跑圖形渲染,也提供了一些編程能力,這部分 api 有 opencl 標準。可以通過 gpu 的并行計算能力來跑一些有大量計算但是沒有很多邏輯的的任務,會比 cpu 效率更高。

總結

cpu 提供了指令集,會不斷的執行取指令、譯碼、執行、取數、寫回的指令周期,控制著計算機的運轉。

cpu 計算的速度比較快,而訪問內存比較慢,為了緩和兩者的矛盾,引入了 L1、L2、L3 的多級緩存體系,L1、L2、L3 是容器逐漸變大,訪問速度逐漸變慢的關系,但還是比訪問內存快。內存會通過一個緩存行(64 字節)的大小為單位來讀入緩存,供 cpu 訪問。

3d 渲染的流程是計算每一個頂點的數據,連成一個個三角形,然后進行紋理貼圖,之后計算投影到二維屏幕的每一個像素的顏色,也就是光柵化,最后寫入顯存幀緩沖區,這樣進行一幀幀的渲染。

cpu 的計算是一個個串行執行的,對于 3d 渲染這種涉及大量頂點、像素要計算的場景就不太合適,于是出現了 gpu。

gpu 可以并行執行大量重復的計算,有成百上千個計算單元,相比 cpu 雖然執行不了復雜邏輯,但是卻能執行大量重復的運算。提供了 opengl 的標準 api。

css 中可以使用 gpu 加速渲染來減輕 cpu 壓力,使得頁面體驗更流暢,默認 transform、opacity、filter 都會新建新的圖層,交給 gpu 渲染。對于這樣的元素可以使用 will-change: 屬性名; 來告訴瀏覽器在最開始就把該元素放到新圖層渲染。

gpu 的并行計算能力不只是 3d 渲染可以用,機器學習也有類似的場景,可以通過 opencl 的 api 來控制 gpu 進行計算。

gpu 和前端的關系還是挺密切的,不管是 webgl,還是 css 硬件加速,或者網頁的性能都與之相關。希望這篇文章能夠幫大家了解 gpu 的原理和應用。

 

責任編輯:姜華 來源: 神光的編程秘籍
相關推薦

2021-07-03 08:59:49

動態代理JDK

2024-05-15 10:14:00

CRDT數據類型協同編輯

2019-11-08 16:05:54

Promise前端鏈式調用

2024-03-11 08:47:30

CRDT數據類型協同編輯

2019-09-12 09:40:34

秒殺系統高并發

2018-08-07 14:45:52

編程語言JavaScripthtml

2021-03-11 12:15:37

Kubernetes云原生容器

2021-04-28 09:55:52

JavaLock接口并發編程

2020-08-13 07:04:45

跨域CORS瀏覽器

2019-06-05 13:00:00

2024-05-20 00:00:00

代碼主線程

2016-03-31 17:01:26

桂林甲天下

2018-07-23 16:13:27

Google歐盟Android

2025-04-09 10:36:32

2024-10-09 12:05:27

2010-07-20 16:01:44

GPU硬件加速瀏覽器

2010-10-08 09:18:06

Ubuntu 10.1GPU硬件加速

2019-04-12 11:25:24

華為

2016-11-08 07:58:02

樂視難關科技新聞早報

2014-07-18 17:14:16

小米蘋果雷軍
點贊
收藏

51CTO技術棧公眾號

欧美国产在线看| 成人动漫在线一区| 久久久精品免费网站| 中文字幕自拍vr一区二区三区| 91亚洲精华国产精华| 捆绑凌虐一区二区三区| 乱人伦中文视频在线| 欧美五码在线| 专区另类欧美日韩| 日本午夜人人精品| 亚洲天堂美女视频| 午夜小视频在线观看| 日韩国产精品91| 亚洲国产精品国自产拍av秋霞| 亚洲成人动漫av| 少妇激情综合网| 欧美一级在线看| 亚洲伦理在线观看| 日韩精品一区二区三区免费观看 | 国产欧美久久久久久| free性中国hd国语露脸| 国产ktv在线视频| 高清不卡在线观看| 色综合视频网站| 91网址在线观看精品| 成年视频在线观看| 国产精品小仙女| 久久福利视频导航| 在线观看av免费观看| 伊人久久精品一区二区三区| 99久久精品国产导航| 午夜精品美女自拍福到在线| 香蕉视频在线观看黄| a级片国产精品自在拍在线播放| 久久在线免费观看| 欧美做受高潮电影o| 性欧美13一14内谢| 韩日精品一区| 中文字幕在线观看不卡| 91免费观看网站| 激情网站在线观看| 成人同人动漫免费观看| 精品视频在线看| 中文字幕成人一区| 丰满肉嫩西川结衣av| 激情五月播播久久久精品| 精品自拍视频在线观看| 日本一区二区在线免费观看| 国产一区二区三区免费在线| 亚洲一区在线观看免费观看电影高清| 国产伦精品一区二区三区视频孕妇 | 日韩在线观看第一页| 国语一区二区三区| 欧美日韩在线免费| 伊人久久婷婷色综合98网| 免费a在线观看| 久久99精品久久久久久久久久久久 | 97人人精品| 日韩一卡二卡三卡四卡| av日韩在线看| 九色在线免费| 黄页网站大全一区二区| 国产色婷婷国产综合在线理论片a| 青青草原在线免费观看| 你懂的国产精品永久在线| 日韩精品一区二区三区在线| 久久久久久久久久福利| 午夜小视频在线| 成人av一区二区三区| 国产二区不卡| 中文字幕永久在线视频| 欧美体内she精视频在线观看| 精品一区电影国产| 久久精品视频在线观看免费| 国产精品视频一区视频二区| 日韩欧美123| 国产黑丝一区二区| 久久综合色占| 日韩免费视频一区| 成人区人妻精品一区二 | 国产精品午夜视频| 国产又粗又大又爽| 夜夜精品视频| 久久精品国产96久久久香蕉| 在线免费看黄视频| 日韩精品首页| 欧美激情第一页xxx| 日本韩国欧美中文字幕| 99国产**精品****| 一级做a爰片久久毛片美女图片| 精品无码人妻少妇久久久久久| 秋霞在线一区| 中文字幕亚洲综合久久| 免看一级a毛片一片成人不卡| 精品国产一区二区三区噜噜噜| 亚洲精品在线三区| 久久婷婷中文字幕| 丁香综合av| 在线播放日韩av| 免费一级黄色大片| 日韩中文字幕一区二区三区| 亚洲伊人久久大香线蕉av| 波多野结衣小视频| 国产剧情在线观看一区二区| 国产精品免费一区二区三区四区| 国产午夜在线观看| 91论坛在线播放| 精品国产乱码久久久久久久软件| 国精产品一品二品国精品69xx| 久久久久久久久岛国免费| 国产奶头好大揉着好爽视频| 在线视频1区2区| 国产精品天美传媒| 欧美亚洲丝袜| 精品国产一级片| 久久精品国产一区二区三 | 国产在视频一区二区三区吞精| 福利微拍一区二区| 亚洲午夜激情影院| 日日夜夜综合| 91精品国产一区二区三区香蕉| 福利视频999| 亚洲都市激情| 亚洲日韩第一页| 蜜乳av中文字幕| 日日狠狠久久偷偷综合色| 日韩成人av在线播放| 色婷婷免费视频| 91tv官网精品成人亚洲| 毛片精品免费在线观看| 久久久999久久久| 久久国产婷婷国产香蕉| 蜜桃传媒视频麻豆第一区免费观看 | 日本vs亚洲vs韩国一区三区二区| 国产精品成人一区| 中文字幕免费观看视频| 久久综合九色欧美综合狠狠| 高清欧美精品xxxxx| www.综合| 欧美va亚洲va| 韩国无码一区二区三区精品| 欧美特黄一区| 国产精品久久久一区二区三区| 国产成人l区| 91精品免费在线| 91在线第一页| 一区二区影院| 97视频人免费观看| 欧美一级淫片aaaaaa| 国产亚洲制服色| 一区二区三区四区国产| dy888亚洲精品一区二区三区| 欧美日本国产视频| 精品视频站长推荐| 狠狠噜噜久久| 国产精品白嫩初高中害羞小美女| 视频一区二区三区在线看免费看| 国产精品久久久久久久岛一牛影视 | 日韩黄色影院| 4438x成人网最大色成网站| 91狠狠综合久久久| 国产精品扒开腿做爽爽爽软件| 亚洲精品免费在线视频| 欧美寡妇性猛交xxx免费| 欧美色xxxx| 亚洲黄色av片| 亚洲电影影音先锋| 97久久夜色精品国产九色 | 天堂在线免费观看视频| 久久精品夜色噜噜亚洲a∨| 丝袜制服一区二区三区| 精品中文字幕一区二区三区四区 | 九色国产在线观看| 欧美综合久久久| ass极品水嫩小美女ass| 精品二区久久| 成人精品久久一区二区三区| 西西人体44www大胆无码| 亚洲男女毛片无遮挡| 国产精品无码av无码| 亚洲一级大片| 日韩中文字幕在线| 无码人妻丰满熟妇精品区| 成人国产视频在线观看| 免费黄色特级片| 91精品国偷自产在线电影| 官网99热精品| 日韩三区在线| 亚洲免费视频网站| 免费一级片视频| 久久日一线二线三线suv| 午夜在线观看av| 日韩欧美在线精品| 国产精品影院在线观看| jizz一区二区三区| 欧美成人一区二区三区| 欧美h在线观看| 自拍偷在线精品自拍偷无码专区| bl动漫在线观看| 狠狠色狠狠色合久久伊人| 国产精品网站免费| 成人h动漫精品一区二区器材| 久久久国产精品x99av | 日韩精品在线视频观看| 91成人国产综合久久精品| 精品久久久久久久久久久久| 亚洲欧美日韩中文字幕在线观看| 狂野欧美一区| 日韩精品另类天天更新| 综合在线影院| 一区二区三区www| 黄色美女一级片| 69堂国产成人免费视频| 无码人妻丰满熟妇奶水区码| 亚洲最新视频在线观看| 天堂在线精品视频| 自拍欧美日韩| 亚洲国产高清国产精品| 国产91在线播放精品| 在线播放国产一区中文字幕剧情欧美| 欧美一区二区三区成人片在线| 欧美日韩国产高清一区二区| 天堂在线免费观看视频| 亚洲国产另类av| 国产精品免费人成网站酒店| 国产麻豆午夜三级精品| 天天操天天摸天天爽| 亚洲一区二区毛片| 色播亚洲婷婷| www.久久| 国产成人精品视频在线观看| 婷婷五月在线视频| 亚洲欧美一区二区精品久久久| 熟妇高潮一区二区高潮| 色综合视频一区二区三区高清| 99久久久无码国产精品衣服| 91年精品国产| 亚洲av无码国产精品久久| 美国一区二区三区在线播放 | 蜜桃免费网站一区二区三区 | 欧美激情日韩| 久久久久久久久久久久久国产| ccyy激情综合| 99三级在线| 日本免费久久| 欧美在线视频网站| 成人免费网站视频| 欧洲中文字幕国产精品| 依依综合在线| 国产成人小视频在线观看| 丁香六月综合| 国产精品高精视频免费| 在线看欧美视频| 国产精品三级网站| 3d玉蒲团在线观看| 亚洲精品在线观看www| 亚洲欧美综合一区二区| 亚洲精品一区二区在线| 大片免费播放在线视频| 精品嫩草影院久久| 好吊色视频一区二区| 亚洲国语精品自产拍在线观看| 日韩精选在线观看| 欧美影院午夜播放| 亚洲 欧美 视频| 疯狂蹂躏欧美一区二区精品| 无码人妻精品一区二区蜜桃色欲| 欧美这里有精品| 国产精品国产三级国产aⅴ| 天天影视涩香欲综合网| 一级黄色大片视频| 亚洲综合图片区| 日本一区二区不卡在线| 中文字幕在线观看不卡视频| 欧美日韩中文字幕在线观看| 天天综合网天天综合色| 中国老头性行为xxxx| 91精品国产福利| 无码精品人妻一区二区| 在线视频欧美日韩| 永久免费网站在线| 欧美性在线视频| 国内高清免费在线视频| 久久国产精彩视频| 欧美私密网站| 欧美国产日产韩国视频| 樱花草涩涩www在线播放| 欧美激情a在线| 伊人久久综合一区二区| 成人h片在线播放免费网站| 成人午夜网址| 亚洲高清视频一区| 99视频一区| 看看黄色一级片| 久久夜色精品一区| 老湿机69福利| 亚洲视频在线一区| a一级免费视频| 精品久久久久久久久国产字幕| 亚洲天堂一二三| 欧美性三三影院| 亚洲AV无码乱码国产精品牛牛| 欧美军同video69gay| 欧美大片在线影院| av电影在线观看一区二区三区| 欧美激情在线观看| 成人短视频在线| 国产成+人+综合+亚洲欧洲 | 91丝袜脚交足在线播放| 九九亚洲视频| 国产中文字幕乱人伦在线观看| 亚洲乱码在线| 久久国产色av免费观看| 成人性生交大合| 国产不卡一二三| 亚洲日本中文字幕区| 狠狠人妻久久久久久综合| 精品国产第一区二区三区观看体验 | 精品国产伦一区二区三区观看方式 | 亚洲精品在线看| 电影k8一区二区三区久久| 成人在线视频福利| 欧美日韩黑人| 欧美激情国产精品日韩| 日韩国产精品久久| 日韩网站在线播放| 亚洲成av人片在线观看| www亚洲视频| 日韩av影视综合网| 国产偷倩在线播放| 51精品国产人成在线观看| 成人激情电影在线| av无码精品一区二区三区| 波多野在线观看| 国产乱肥老妇国产一区二| 欧美丝袜丝交足nylons172| 日本黄网站免费| 久久久高清一区二区三区| 黄色片网站在线免费观看| 精品无人区乱码1区2区3区在线| a级片在线免费| 国产美女精品久久久| 国产成人高清精品免费5388| 超级碰在线观看| 国产suv一区二区三区88区| 综合五月激情网| 91精品久久久久久久91蜜桃| 免费高清在线观看| 91精品视频大全| 亚洲91精品| 国产亚洲色婷婷久久| 亚洲精品久久久蜜桃| 久久久国产精品成人免费| 欧美日韩国产综合一区二区三区| 电影在线一区| 国产精品香蕉在线观看| 欧美韩国日本在线观看 | 国产盗摄女厕一区二区三区| 久久精品综合视频| 欧美日韩午夜剧场| 免费黄网站在线观看| 国产精品视频地址| 91精品国产乱码久久久久久久| 手机在线观看日韩av| 精品久久不卡| 精品无人区一区二区三区竹菊| 国产日韩欧美一区在线 | 国产视频一区二区视频| 中文字幕乱码亚洲精品一区| 国产在成人精品线拍偷自揄拍| 欧美另类第一页| 欧美日韩一本| 乌克兰美女av| 亚洲欧美韩国综合色| 刘亦菲久久免费一区二区| 欧洲美女免费图片一区| 欧美aaaa视频| 国产高潮视频在线观看| 欧美综合色免费| 色黄网站在线观看| 欧美精品七区| 狠狠色综合播放一区二区| 国产乡下妇女做爰视频| 在线日韩第一页| 91欧美极品| 久久综合伊人77777麻豆最新章节| 亚洲欧美激情插| 欧美777四色影视在线 | 国产精品久久久久毛片| 久久久伊人欧美| 国产美女视频一区二区 | 久久九九国产| 无码人妻aⅴ一区二区三区玉蒲团| 国产精品视频一二| youjizz在线视频| 日韩中文娱乐网| 乱中年女人伦av一区二区| av在线观看地址| 国产亚洲精品aa午夜观看| 午夜精品久久久久久久99老熟妇|