在 cobalt 浏览器上处理 key up/down 的性能
The performance to handle key up/down on cobalt browser
我在我们的平台(arm-v8 linux)上试用了cobalt浏览器,发现按键反应有点慢。在youtube首页按up/down键时,从InjectKeyboardEvent到DoLayoutAndProduceRenderTree需要200ms-400ms,DoLayoutAndProduceRenderTree需要100ms-150ms才开始渲染。我看到电影行在 500 毫秒后开始绘制。对此有何建议?
我尝试将 javascript_engine 从 mozjs 更改为 javascriptcore,但性能相似。 (我发现 javascriptcore 默认不启用 JIT?)另外我们 运行 cobalt PC 版本,按键响应类似,延迟一些时间然后开始滚动。
Cobalt 是否有任何性能测量供开发人员检查?如何启用它?
非常感谢。
非gold
版本的 Cobalt 有一个 "debug console" HUD,可用于显示实时更新的调试值,包括性能测量。 qa
是仍然具有调试控制台的最快构建类型。
调试控制台 HUD 可以使用 --debug_console=hud
命令行标志启用,或在运行时按 Ctrl-O
切换。
HUD 是一个叠加层,显示一堆 "CVals"(控制台值)。这些可以在调试控制台本身中显示或隐藏(类型 help
)。特别是,您可能希望启用 Event.Duration.MainWebModule
,它会在您每次按下按键时更新。查看 src/cobalt/browser/web_module_stat_tracker.cc
以了解事件计时 CVal 的说明。
还有一个构建目标 layout_benchmarks
可以测试完整布局的非 Javascript 部分。这与增量布局不太一样,显然 Javascript (InjectKeyboardEvent) 是您的大部分按键处理成本,但它可能是整体性能的一个不错的代表,并且在平台之间具有合理的可比性。
JavaScriptCore 很快就会被弃用,取而代之的是 SpiderMonkey (a.k.a.mozjs),并且会从 Cobalt 树中删除,因此它不是一个有很多未来的探索途径。
请注意,Linux X11 Cobalt 不一定与设备平台一样快,因为 X11 实现并未特别优化。例如,MesaGL 是软件渲染的。视频合成做得比较粗糙,在CPU.
上也做了YUV转换
我在我们的平台(arm-v8 linux)上试用了cobalt浏览器,发现按键反应有点慢。在youtube首页按up/down键时,从InjectKeyboardEvent到DoLayoutAndProduceRenderTree需要200ms-400ms,DoLayoutAndProduceRenderTree需要100ms-150ms才开始渲染。我看到电影行在 500 毫秒后开始绘制。对此有何建议?
我尝试将 javascript_engine 从 mozjs 更改为 javascriptcore,但性能相似。 (我发现 javascriptcore 默认不启用 JIT?)另外我们 运行 cobalt PC 版本,按键响应类似,延迟一些时间然后开始滚动。
Cobalt 是否有任何性能测量供开发人员检查?如何启用它?
非常感谢。
非gold
版本的 Cobalt 有一个 "debug console" HUD,可用于显示实时更新的调试值,包括性能测量。 qa
是仍然具有调试控制台的最快构建类型。
调试控制台 HUD 可以使用 --debug_console=hud
命令行标志启用,或在运行时按 Ctrl-O
切换。
HUD 是一个叠加层,显示一堆 "CVals"(控制台值)。这些可以在调试控制台本身中显示或隐藏(类型 help
)。特别是,您可能希望启用 Event.Duration.MainWebModule
,它会在您每次按下按键时更新。查看 src/cobalt/browser/web_module_stat_tracker.cc
以了解事件计时 CVal 的说明。
还有一个构建目标 layout_benchmarks
可以测试完整布局的非 Javascript 部分。这与增量布局不太一样,显然 Javascript (InjectKeyboardEvent) 是您的大部分按键处理成本,但它可能是整体性能的一个不错的代表,并且在平台之间具有合理的可比性。
JavaScriptCore 很快就会被弃用,取而代之的是 SpiderMonkey (a.k.a.mozjs),并且会从 Cobalt 树中删除,因此它不是一个有很多未来的探索途径。
请注意,Linux X11 Cobalt 不一定与设备平台一样快,因为 X11 实现并未特别优化。例如,MesaGL 是软件渲染的。视频合成做得比较粗糙,在CPU.
上也做了YUV转换