主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃
共:💬594 🌺1902
Layout 过程假设每个RenderTree 的节点都对应一个长方形逻辑区域。这是一个形式和内容的问题。layout解决的,是内容问题。如果仔细看你的第二个图的话,里面的那些字,也是在一个个长方形里面的,不同于图1的,是在显示方式(形式)上的不同。所以,这个问题,似乎应该由paint来处理:
用layout来确定文档中各个元素的三维位置,然后由paint来解决具体的呈现方式。设想一下用浏览器来看VRML的情形...
一语点醒梦中人,Layout不应该受限于2D,而应该从3D考虑。在Paint的时候,无非是把3D实物,投影到2D。
这样,建3D RenderTree容易,2D Rendering也容易。
主要是layout的执行次数少,仅在page load和js修改innerHTML的时候才需要执行,所以虽然计算量大,但是算好以后就可以使用多次。
刚开始我们也是这么认为的,但是实地跟踪一下以后,发现layout经常被调用。具体哪些事件触发了layout,我们也不是非常清楚。或许用户鼠标在浏览器上滑动的时候,Webkit误以为是在改变浏览器视窗大小吧。
- 相关回复 上下关系8
🙂图3图4看不清 2 小章 字179 2009-06-09 19:17:04
🙂回调 layout 2 邓侃 字214 2009-06-09 21:24:30
🙂layout和paint分开 6 美人他爹 字709 2009-06-09 11:34:03
🙂英雄所见略同
🙂小沙发 1 田桦涛 字0 2009-06-09 07:58:32
🙂【原创】【20】WebKit的结构与解构 23 邓侃 字7377 2009-05-24 09:55:56
🙂【讨论】乱弹123 4 素里太守 字1099 2009-05-25 02:17:43
🙂太守不是在批评,是替我喊冤 2 邓侃 字380 2009-05-25 05:38:55