1

我在我们的平台(arm-v8 linux)上试用了cobalt浏览器,发现按键响应有点慢。在youtube主页上按上/下键时,从InjectKeyboardEvent到DoLayoutAndProduceRenderTree需要200ms-400ms,DoLayoutAndProduceRenderTree需要100ms-150ms然后开始渲染。我看到电影行在 500 毫秒后开始绘制。对此有何建议?

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

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

非常感谢。

4

1 回答 1

0

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

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

还有一个构建目标layout_benchmarks可以测试完整布局的非 JavaScript 部分。这与增量布局不太一样,很明显 Javascript (InjectKeyboardEvent) 是您的键处理成本的大部分,但它可能是整体性能的一个不错的代理,并且在平台之间具有相当的可比性。

JavaScriptCore 将很快被弃用,取而代之的是 SpiderMonkey(又名 mozjs),并从 Cobalt 树中移除,因此它不是一个有很大未来的探索途径。

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

于 2016-12-19T22:55:12.563 回答