首页 > 解决方案 > React 渲染模型和原生工具包有什么区别

问题描述

我应该澄清一下,我对渲染模型特别感兴趣,据我了解,React 只会重新渲染已经改变的东西,像 GTK 和 QT 这样的原生工具包不会这样做吗?他们会做什么呢?

标签: reactjsqtgtk

解决方案


原生工具包也只会重新渲染已经改变的东西,但它发生的方式有点不同。

本机工具包渲染包括在屏幕上逐字绘制像素。在 React 中,渲染包括操作 DOM,然后由浏览器将其渲染到页面中,然后该页面的像素由编写浏览器的本机工具包绘制到屏幕上。因此本机工具包具有更多的自由来优化每个级别的东西,而 React 只控制 DOM 级别。

在 GTK 中,粗略地说,当 UI 小部件知道某些内容已更改并需要重新渲染时,它能够“使”其像素区域“无效”。在下一次绘制更新​​期间,无效区域将根据新状态重新绘制。例如,该工具包可以将绘制更新之间发生的多个失效合并为一个,以优化事物。


推荐阅读