html是由cpu渲染,還是由gpu渲染,為什麼?

時間 2021-06-01 19:24:11

1樓:貘吃饃香

路過……

這問題……

實在……

看不懂……

是廣義的還是狹義的 HTML?

狹義的來說,沒瀏覽器的預設樣式配合的話,就沒渲染啥事兒啊了。parser -> dom 是 CPU 做的。

廣義的話,就是整個文件的渲染。

這個倆都有。

比如 chromium 這麼說的 (https://www.

chromium.org/developers

)在開啟(存在) GPU 的情況下,合成器執行緒上的 SkPicture 記錄將以下兩種方式之一轉換為GPU上的點陣圖:1、由 Skia 的軟體光柵化器繪製成位圖,並作為紋理上傳到GPU,或者由 Skia 的 OpenGL直接繪製紋理到 GPU 上。

在沒 GPU 或者 GPU 驅動程式不可用的情況下,渲染器有另一種軟體渲染的實現 。實際上這就是 CPU 渲染了。

它跟 GPU 可用時存在時,實現上有一些關鍵差異:

它不是將四邊形作為紋理上傳到GPU,而是留在系統記憶體中,並將它們作為共享記憶體來用

軟體渲染器使用 Skia 的軟體光柵化器來執行複製(並執行任何必要的矩陣數學和剪裁),而不是使用GL將內容紋理圖塊複製到後台緩衝區中。

這意味著3D轉換和合成CSS過濾器等操作「只適用於」軟體渲染器。但是本身依賴於GL(例如WebGL)的Web內容就不這樣了。對於WebGL的軟體渲染,Chrome使用叫做 SwiftShader 的一種軟體GL光柵化器。

ps: 由於這文件比較老了(14年的好像),我記得之前用 --disable-gpu 時候測試,發現 WebGL 好像現在沒軟體渲染了,沒GPU就直接掛了(無法渲染)

其實,可以看出來,即使有 GPU ,大部分工作還是 CPU 做的,GPU 只幹了它擅長的紋理繪製、變形矩陣處理等工作。

2樓:易旭昕

如果把渲染侷限在光柵化(rasterization 生成畫素)和合成(compositing 輸出到視窗緩衝器)。實際上主流的瀏覽器都支援使用CPU或者GPU去做光柵化和合成,一般在硬體支援的情況下盡量會使用GPU,這樣可以有效減少CPU的負荷,提高渲染效能。

原碼 反碼 補碼,是由CPU定義,還是由編譯器定義?

Eric Qiang CPU的加法器,了解一下。其實,加法器幾乎什麼都不知道,它不知道有符號數 無符號數 原碼 補碼。它就是把兩個數相加,如果有進製,則在FLAGS的CF被置位。甚至沒有減法器。假設加法器的位長k 8 即8位加法器,這是8008CPU的時代 為例,對於8位元的加法器,把它的運算數取值...

世界是由意識構成還是由物質構成?

知乎使用者 大家心中有沒有乙個判斷唯心唯物的標準和區分唯心唯物的方法?然而,先天 客觀上 到底如何是不可 確 全 知的。一切知都是後天的,主觀的。因此,實際上,都只是各有各的對先天,對客觀的想象而已。想象,就是願望,當願望特別強烈時,就成了信仰。想象,在我看來,就是第一因。也許 在答主的想象裡 先天...

PC上的組合語言是由CPU廠商開發的?還是由作業系統廠商開發的?

已登出 gas是gnu出的,masm是ms出的,nasm和yasm是 嗯 奇奇怪怪的人出的。gas用的AT T風格彙編 甚至可以是平台無關的 intel倒是出過icc。貴到正常人不會去用的那種。 李向東 PC上主流的倆 Intel彙編 AT T彙編 誰搞的?看名字 按摩店有交叉授權 作業系統因為涉及...