react強(qiáng)制組件更新 網(wǎng)上都說操作真實(shí)DOM慢,但測試結(jié)果卻比React更快,為什么?
網(wǎng)上都說操作真實(shí)DOM慢,但測試結(jié)果卻比React更快,為什么?React從未被官方稱為比real dom更快。實(shí)際上,react還需要使用本機(jī)DOM操作innerHTML。react的快速呈現(xiàn)是指D
網(wǎng)上都說操作真實(shí)DOM慢,但測試結(jié)果卻比React更快,為什么?
React從未被官方稱為比real dom更快。實(shí)際上,react還需要使用本機(jī)DOM操作innerHTML。
react的快速呈現(xiàn)是指DOM的批處理操作,比如多個(gè)P節(jié)點(diǎn)的一次性操作,或者某個(gè)節(jié)點(diǎn)下的子節(jié)點(diǎn)的操作。在這種情況下,反應(yīng)更快。
react原理中的Diff算法:
重新渲染時(shí),react會(huì)根據(jù)Diff算法計(jì)算出新的DOM,這與DOM直接不同。它只更新DOM的這一部分,不移動(dòng)其他DOM。此時(shí),最初的DOM操作是更新所有DOM。
例如:如果要在UL下重新渲染Li,請(qǐng)使用react進(jìn)行渲染。React只更新已更改的Li節(jié)點(diǎn),而未更改的Li節(jié)點(diǎn)不會(huì)移動(dòng)。對(duì)于本機(jī)操作,JS通常會(huì)重新生成所有Li。如果您比較自己,只更新更改的Li節(jié)點(diǎn),它將比react更快。
[我們最近正在更新react文章。歡迎關(guān)注。讓我們一起學(xué)習(xí),共同進(jìn)步
問題:強(qiáng)制GPU渲染對(duì)手機(jī)有什么影響?
答:游戲畫面流暢,但耗熱量和耗電量的影響也很大,有時(shí)不兼容。
我們知道我們的手機(jī)會(huì)顯示圖像。在這種情況下,誰負(fù)責(zé)處理這些圖像?一開始,使用的是CPU?,F(xiàn)在,二維圖像由CPU渲染。
不過,CPU有一個(gè)特點(diǎn),就是它不多,他們是醫(yī)生,適合復(fù)雜的操作。
但是,圖像處理的操作非常簡單,需要大量計(jì)算。也就是說,許多小學(xué)生被要求做一些基本的算術(shù)題。
后來,GPU應(yīng)運(yùn)而生。GPU專門負(fù)責(zé)渲染圖片。但是有些圖像的渲染非常簡單,GPU的功耗也比較大。所以我把它給了CPU。
移動(dòng)電話的結(jié)構(gòu)與計(jì)算機(jī)不同。手機(jī)的CPU、GPU、ISP等部件被組裝在一起,稱為SOC。
每部手機(jī)都有一個(gè)GPU,所以所有圖片都可以渲染到GPU嗎?
這沒問題!而且效果更好
!玩游戲時(shí),GPU本身會(huì)打開,讓大家的畫面更流暢,但耗電量也很大。
如果啟用強(qiáng)制GPU渲染,則表示CPU壓力降低,但GPU操作將減少。GPU本身就是一個(gè)耗電大戶。如果我們?cè)黾痈嗟腉PU計(jì)算,我們將增加功耗和熱值。
某些與GPU渲染不兼容的應(yīng)用程序?qū)⒂捎贕PU渲染而崩潰。