精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲综合丝袜美腿| 午夜一区不卡| 欧美一区二区女人| 国产高清www| 国产一级在线| 国产精品99精品久久免费| 国内精品小视频| avhd101老司机| 最新国产精品精品视频| 91九色最新地址| 超碰超碰超碰超碰超碰| 你懂的免费在线观看| 久久er精品视频| 38少妇精品导航| 中文字幕亚洲欧美日韩| 亚洲精品白浆高清| 日韩欧美的一区| 色片在线免费观看| 在线观看涩涩| 亚洲在线一区二区三区| 亚洲免费不卡| 欧美日韩国产亚洲沙发| 丁香亚洲综合激情啪啪综合| 国产精品视频男人的天堂| 日本在线小视频| 小小影院久久| 中文字幕9999| 我和岳m愉情xxxⅹ视频| 日韩三级av高清片| 欧美欧美午夜aⅴ在线观看| 日韩久久一级片| 91高清视频在线观看| 亚洲男帅同性gay1069| 亚洲激情图片| 国产精品无码2021在线观看| www.亚洲精品| 国产成人精品一区二区三区福利| 亚洲一级av毛片| 久久亚洲色图| 日本一本a高清免费不卡| 国产真实乱偷精品视频| 欧美一区影院| 久久精品国产视频| 极品色av影院| 888久久久| 久久精品久久精品亚洲人| 免费看的黄色录像| 国产真实有声精品录音| 亚洲男人av在线| 3d动漫精品啪啪一区二区下载| 另类在线视频| 亚洲精品电影网| bl动漫在线观看| 欧美日韩精品一区二区三区在线观看| 欧美成人精品1314www| wwwww在线观看| 538任你躁精品视频网免费| 欧美一级国产精品| 国产ts在线观看| 久久99精品国产自在现线| 日韩美女视频在线| 黄色免费看视频| 亚州av一区| 亚洲深夜福利视频| 亚洲一级黄色录像| 先锋资源久久| 久久人人爽人人| 国产特黄大片aaaa毛片| 久久这里只有| 国产美女扒开尿口久久久| 国产又色又爽又黄又免费| 国产一区二区三区免费播放| 97视频资源在线观看| 蜜桃视频污在线观看| 91麻豆免费看| 亚洲日本欧美在线| 麻豆传媒在线免费| 亚洲一区二区在线观看视频| 欧美 丝袜 自拍 制服 另类| 三上悠亚激情av一区二区三区 | 在线观看欧美成人| 永久免费未视频| 亚洲韩日在线| 国产精品成久久久久三级| 一级黄色大片免费| 国产成人8x视频一区二区| 精品视频一区在线| 日韩成人综合网站| 国产精品久线在线观看| 超碰97免费观看| 国产网红女主播精品视频| 精品久久在线播放| 69久久久久久| 在线视频亚洲欧美中文| 亚洲九九九在线观看| 少妇愉情理伦三级| 欧美亚洲不卡| 国产精品高清在线| 丰满人妻妇伦又伦精品国产| 国产婷婷色一区二区三区四区 | 精品成人一区二区三区免费视频| 国产精品伦理在线| 黄页免费在线观看视频| 国产亚洲精彩久久| 日韩电影大片中文字幕| 中文字幕美女视频| 蜜乳av另类精品一区二区| 成人国产亚洲精品a区天堂华泰| 人妻少妇精品无码专区久久| 国产精品久久久久久户外露出| 分分操这里只有精品| 日本亚洲欧洲无免费码在线| 亚洲精品电影在线| 国产suv一区二区三区| 老司机精品导航| 国产精品视频福利| 国产最新在线| 欧美视频一区在线| 人人妻人人澡人人爽人人精品 | 欧美变态挠脚心| 久久夜精品香蕉| 懂色av中文字幕| 99re成人精品视频| 91黄色在线看| 久久久久九九精品影院| 在线亚洲男人天堂| 中文字幕黄色片| 成人一区在线看| 免费在线精品视频| se01亚洲视频| 日韩毛片在线看| 日本亚洲欧美在线| 国产成人av电影| 国产 欧美 日韩 一区| 国产美女视频一区二区| 俺去亚洲欧洲欧美日韩| 中文字幕av无码一区二区三区| 久久人人97超碰com| 国产精品裸体瑜伽视频| 99久久免费精品国产72精品九九| 欧美成人免费va影院高清| 伊人久久亚洲综合| 中文字幕精品一区二区精品绿巨人 | 3d蒂法精品啪啪一区二区免费| av在线女优影院| 欧美亚洲综合网| 亚洲色图第四色| 美女黄网久久| 神马影院我不卡午夜| 澳门av一区二区三区| 亚洲午夜av久久乱码| 懂色av蜜臀av粉嫩av分享吧最新章节| 久久久影院官网| 免费男同深夜夜行网站| 成人影院天天5g天天爽无毒影院| 国产精品伦子伦免费视频| 99免在线观看免费视频高清| 欧美三区在线观看| 性欧美疯狂猛交69hd| 国产一区二区精品久久99| 神马午夜伦理影院| 香蕉成人app| 国内精品免费午夜毛片| 青青青手机在线视频观看| 精品日本高清在线播放| 日韩乱码人妻无码中文字幕久久| 久久久青草婷婷精品综合日韩| 热舞福利精品大尺度视频| 国产精品啪啪啪视频| 国产黄色一级网站| 佐山爱在线视频| 欧美亚洲国产激情| 国产综合香蕉五月婷在线| 91网在线播放| 欧美一二三区精品| 久久久久久久久久免费视频| 91免费国产在线| 亚洲36d大奶网| 91精品一区二区三区综合在线爱| 999在线免费观看视频| xxx性欧美| 一个人看的www久久| 国产片在线播放| 亚洲超碰精品一区二区| 亚洲a v网站| 国内成人精品2018免费看| 黄色一级片在线看| 日韩在线你懂的| 国产精品久久一区主播| 欧美日韩在线精品一区二区三区激情综 | 欧美一区二区三区四区久久| 国产在线拍揄自揄拍| 不卡一区在线观看| 在线观看高清免费视频| 黄色国产精品| 国产乱子伦精品| 国产无遮挡裸体视频在线观看| 亚洲乱码国产乱码精品精| 激情视频网站在线观看| 91蝌蚪porny| 亚洲免费成人在线视频| 亚洲一区二区三区高清| 日本电影一区二区三区| 成人污污www网站免费丝瓜| 欧美性做爰毛片| 在线黄色网页| 一区二区福利视频| 欧美综合视频在线| 欧美理论片在线| 国产婷婷色一区二区在线观看| 亚洲激情自拍偷拍| 91狠狠综合久久久久久| 26uuu亚洲| 人妻巨大乳一二三区| 免费成人在线影院| www.99热这里只有精品| 欧美国产91| 亚洲精品一卡二卡三卡四卡| 欧美日韩一本| 粉嫩av四季av绯色av第一区| 日韩毛片免费看| 国产999在线观看| 欧美亚洲日本精品| 久久久久久尹人网香蕉| 国产区在线看| 在线亚洲欧美视频| 国产精品一区二区婷婷| 亚洲九九九在线观看| 天天躁日日躁狠狠躁喷水| 日韩精品专区在线影院观看| 97免费观看视频| 欧美日韩免费一区二区三区 | 国产成人三级在线观看| 午夜免费看毛片| 三级一区在线视频先锋| 亚洲色欲综合一区二区三区| 国产精品婷婷| 日韩国产欧美亚洲| 亚洲人成免费| www..com日韩| 一区二区亚洲| av在线播放天堂| 夜夜嗨av一区二区三区网站四季av| 久久精品无码中文字幕| 国内一区二区三区| 国产色一区二区三区| 国内综合精品午夜久久资源| 成人小视频在线观看免费| 欧美日韩国产综合网| 六月婷婷激情综合| 亚洲人妖在线| 久久9精品区-无套内射无码| 久热精品在线| 91小视频网站| 韩国精品在线观看| 中文字幕乱妇无码av在线| 国产成a人亚洲| 国产精品久久AV无码| 91美女片黄在线| 极品久久久久久久| 日韩一区欧美小说| 久久久久久久黄色| 精品久久久中文| 波多野结衣大片| 制服丝袜日韩国产| 性一交一乱一伧老太| 亚洲国产黄色片| 久草在线青青草| 日韩中文字幕免费视频| 日韩123区| 欧美一区第一页| 久久三级毛片| 国产精品麻豆免费版| 亚洲精品**不卡在线播he| 视频在线一区二区三区| 一个色综合网| 激情综合在线观看| 久久精品国产亚洲一区二区三区| 亚洲AV无码久久精品国产一区| youjizz国产精品| www中文在线| 亚洲国产另类av| 中文人妻熟女乱又乱精品| 日韩欧美亚洲国产另类| 深夜福利视频一区| 久久精品一本久久99精品| av今日在线| 国产精品欧美久久久| 日韩区欧美区| 日韩欧美一区二区三区四区 | 久久久之久亚州精品露出| 高清不卡av| 97se亚洲综合| 精品美女久久| 免费看欧美黑人毛片| 美女视频免费一区| 男男做爰猛烈叫床爽爽小说 | 日韩免费av网站| 欧美成人女星排名| 成人高清网站| 久久久久久综合网天天| 国语自产精品视频在线看抢先版结局 | 国产精品国产精品国产| 精品国产一区二区三区四区四 | 国产精品亚洲二区| 老司机激情视频| 久久激五月天综合精品| 一区二区三区少妇| 亚洲毛片av在线| 伊人免费在线观看高清版| 亚洲国产精品久久久久| 国产黄a三级三级三级av在线看| 国产精品成av人在线视午夜片| 国产福利一区二区精品秒拍| 中文字幕日韩一区二区三区| 天堂午夜影视日韩欧美一区二区| 东京热av一区| 日韩美女精品在线| 中文人妻熟女乱又乱精品| 亚洲欧美国产一区二区三区| 日本动漫同人动漫在线观看| 成人福利网站在线观看| 精品美女在线视频| 久久婷婷国产精品| 不卡电影一区二区三区| 九九视频免费看| 91麻豆精品国产自产在线观看一区| 高清美女视频一区| 日韩av男人的天堂| 欧美挤奶吃奶水xxxxx| 精品无码av无码免费专区| 久久成人av少妇免费| 91视频免费在观看| 欧洲一区二区三区在线| 深夜福利视频一区| 欧美在线视频导航| 午夜欧洲一区| 久久久999免费视频| 99re这里只有精品6| 国产无人区码熟妇毛片多| 精品国产99国产精品| 在线观看男女av免费网址| 91在线视频精品| 91精品推荐| ass极品水嫩小美女ass| 亚洲综合激情另类小说区| 成 人片 黄 色 大 片| 蜜月aⅴ免费一区二区三区| 国产专区精品| 国产精品久久久影院| 成人综合在线观看| 91av在线免费视频| 亚洲欧美视频在线| 精品欧美一区二区三区在线观看| 日韩久久久久久久久久久久久| 日韩不卡一区二区| 日本成人精品视频| 91麻豆精品国产91久久久久久久久 | 亚洲精品免费一区亚洲精品免费精品一区 | 美女日批视频在线观看| 国产综合第一页| 午夜在线精品偷拍| 中文精品99久久国产香蕉| 成年午夜在线| 国产日韩av在线播放| 日韩精品欧美| 免费观看黄网站| 天天色 色综合| 毛片在线播放网址| 国产噜噜噜噜久久久久久久久| 999精品在线| 中国特级黄色片| 一本大道久久a久久综合婷婷| 成全电影播放在线观看国语| 91亚洲国产成人久久精品网站 | 亚洲欧洲在线观看av| 国产成人麻豆精品午夜在线| 国内精品模特av私拍在线观看| 九一国产精品| 欧美在线a视频| 黄色一区二区在线观看| 国产毛片在线| 成人av片网址| 日韩高清中文字幕一区| 免费在线观看一级片| 日韩精品视频三区| 国产精品亚洲成在人线| 国产美女在线一区| 亚洲国产精品v| 日韩在线视频免费| 国产精品亚洲综合天堂夜夜| 国内揄拍国内精品久久| 日韩黄色中文字幕| 亚洲成人久久网| 啪啪av大全导航福利综合导航| 人人妻人人做人人爽| 国产精品国产三级国产普通话99| 天天综合在线视频| 成人在线小视频| 久热精品在线|