处理钴浏览器上键/下键的性能

时间:2016-12-12 07:47:24

标签: cobalt

我在我们的平台(arm-v8 linux)上尝试过钴浏览器,我发现密钥响应有点慢。在youtube主页上按向上/向下键时,从InjectKeyboardEvent到DoLayoutAndProduceRenderTree需要200ms-400ms,DoLayoutAndProduceRenderTree需要100ms-150ms然后开始渲染。我看到电影行在500ms后开始画画。有什么建议吗?

我尝试将javascript_engine从mozjs更改为javascriptcore,但性能类似。 (我发现javascriptcore默认情况下不启用JIT?)另外我们运行的是钴PC版本,键响应类似,延迟一段时间然后开始滚动。

Cobalt是否有任何性能衡量标准供开发人员检查?如何启用它?

非常感谢。

1 个答案:

答案 0 :(得分:0)

Cobalt的非gold版本具有“调试控制台”HUD,可用于显示实时更新调试值,包括性能测量。 qa是仍然具有调试控制台的最快构建类型。

可以使用--debug_console=hud命令行标志启用调试控制台HUD,或者通过按Ctrl-O在运行时切换。 HUD是一个显示一堆“CVal”(控制台值)的叠加层。这些可以在调试控制台本身中显示或隐藏(类型help)。特别是,您可能希望启用Event.Duration.MainWebModule,每次按键时都会更新src/cobalt/browser/web_module_stat_tracker.cc。请查看layout_benchmarks以获取有关事件时间变化的描述。

还有一个构建目标-[UIPercentDrivenInteractiveTransition updateInteractiveTransition:],用于测试完整布局的非Javascript部分。这与增量布局并不完全相同,显然Javascript(InjectKeyboardEvent)占您的密钥处理成本的大部分,但它可能是整体性能的合适代理,并且在平台之间具有相当的可比性。

JavaScriptCore很快就会被弃用,转而使用SpiderMonkey(a.k.a. mozjs),并从Cobalt树中删除,所以它不是未来探索的途径。

请注意,Linux X11 Cobalt不一定像设备平台一样快,因为X11实现没有特别优化。例如,MesaGL是软件渲染的。视频合成相当粗略,YUV转换也在CPU上完成。