感谢开放的google以及谷奥:
UI responseness
0.common technique : lazy initialization
点击菜单时才加载功能,使得启动超级快
1.multi-process:
render process and browser process,防止崩溃,即使tab繁忙也要保证整体响应
2. browser process using multi-threading:
browser process 分为不同的线程,分别处理
UI(key) thread:绘制页面,键盘,鼠标交互
IO thread:进程间消息传递
file thread:硬盘资源管理
3.backing store cache in browser process
问题:
1.render process长期不用则会被操作系统交换出去
2.多次耗费时间的重绘,例如从大到小resize浏览器窗口
最近的一些 tab 缓存到 backing store cache,当访问时从缓存提取快
4.benchmark
启动速度测试
长时间后点击tab,测试backing store cache
主观测试,可怜的qa
5.how does chrome's simplicity contribute to a responsive user experience
简约而不简单
抵制option,抵制用户设置项
上下文菜单少
整合地址栏与搜索
6.future plan improvement
1.同步xhr禁止,不可能
2.ctrl-f 举例可能导致 ui不响应
browser process发送查询词给 render process,render process halt,则整个chrome不响应了
7.what motivates you to work on UI responsiveness
对用户有用的设计
用户每天都要用web做重要的事,省时很重要!
附录:
Introduction to chrome and chrome-extension