Re: 首屏渲染优化提案反馈(原:Re: 答复: 中文兴趣小组5月5日电话会议)

如果是这样,will-change: never 的名字可能需要改进。更重要的一点是,其实 will-change: auto
除了浏览器通过其他信息可以判定其实际上可能会 change 的元素以外,剩下的都可以认为是 will-change:
never。你可以发现其中的问题——提示某个元素其layout是接近static的,与本提案的目标并无直接联系。本提案的要点,按照我的理解,与元素是否需要
relayout 无关,而是在于提示浏览器提早做 rendering (即使这样会造成之后的 relayout)。


2014-05-08 13:59 GMT+08:00 Xidorn Quan <quanxunzhen@gmail.com>:

> 2014-05-08 15:50 GMT+10:00 John Hax <johnhax@gmail.com>:
>
>
>>
>>
>> 2014-05-06 21:06 GMT+08:00 Xidorn Quan <quanxunzhen@gmail.com>:
>>
>> 我觉得 John 说的非常好,现在这个提案过于限于具体实现,暴露浏览器实现细节。我也赞同放在 CSS 里面比较好。
>>>
>>> 既然是 CSS 的话,我有一个想法,我们不如给浏览器这么一个 hint:这个元素的 geometry
>>> 不会随其后续元素的载入而发生改变。如果浏览器能得到这么一个 hint,它就可以立即对这个元素进行排版及渲染,而不必顾忌后面的内容。
>>>
>>> 更进一步地,我联想到了现在刚好在 FPWD 阶段的 will-change,我们可以提议给 will-change 加一个 keyword 叫做
>>> never 来给浏览器这么一个 hint,各位觉得如何?
>>>
>>> 不过我不是很确定这个方案对于现有的浏览器解析策略有没有可行性。(没有研究过相关流程)
>>>
>>
>>
>>  从我的理解上说,will-change: never 跟 will-change 的其他用法的场景差得太远。且并非所有属性对 layout
>> 有影响。这让我想起了 table-layout: fixed 。
>>
>> 但关键的一点,table-layout其实改变了 render 的结果。我不清楚你心目中的 will-change: never 是否也会改变
>> render 的结果。如果是改变的,那么就超出了本份提案的范畴(按照我的理解)。
>>
>
> 既然是 hint,按我的理解也是不会改变最终渲染结果的。
>
> 确实这里的提案跟 will-change 的其他用法场景相差很远,只不过同样是用作 hint(CSS 里面似乎还没有其他 hint
> 性质的属性?)如果加进去,实际上是扩展了 will-change 的语义了。
>
> - Xidorn
>

Received on Thursday, 8 May 2014 06:10:55 UTC