2016-12-12 5 views
1

Ich habe versucht Cobalt Browser auf unserer Plattform (Arm-V8 Linux), und ich fand die Schlüsselantwort ist ein bisschen langsam. Wenn Sie auf der youtube-Homepage die hoch/runter-Taste drücken, dauert es 200ms-400ms von InjectKeyboardEvent zu DoLayoutAndProduceRenderTree und DoLayoutAndProduceRenderTree dauert 100ms-150ms und wird dann gerendert. Ich sah, dass Filmreihen nach 500ms begannen zu zeichnen. Irgendein Vorschlag dafür?Die Leistung zu Schlüssel oben/unten auf Cobalt Browser

Ich habe versucht, javascript_engine von mozjs zu javascriptcore zu ändern, aber die Leistung war ähnlich. (Ich habe festgestellt, Javascript-Kern nicht aktivieren JIT standardmäßig?) Auch wir laufen Cobalt PC-Version, und die Schlüsselantwort ist ähnlich, einige Zeit verzögert dann scrollen beginnen.

Hat Cobalt eine Leistungsmessung für Entwickler, um dies zu überprüfen? Wie kann ich es aktivieren?

Vielen Dank.

+0

Laufen Sie entweder 'qa' oder' gold' Builds? 'debug' und' devel' werden viel langsamer sein. –

+0

Ja, wir verwenden jetzt die Debug-Version. Es ist wirklich schneller, wenn ich 'Gold' Version verwende! Danke vielmals. –

Antwort

0

Nicht-gold Builds von Cobalt verfügen über eine HUD "Debug-Konsole", mit der Live-Update-Debug-Werte einschließlich Leistungsmessungen angezeigt werden können. qa ist der schnellste Build-Typ, der noch über die Debug-Konsole verfügt.

Die HUD der Debug-Konsole kann mit dem Befehlszeilen-Flag --debug_console=hud aktiviert oder zur Laufzeit durch Drücken von Ctrl-O umgeschaltet werden. Das HUD ist ein Overlay, das eine Reihe von "CVals" (Konsolenwerte) anzeigt. Diese können in der Debug-Konsole selbst angezeigt oder verborgen werden (geben Sie help ein). Insbesondere möchten Sie wahrscheinlich Event.Duration.MainWebModule aktivieren, die jedes Mal aktualisiert wird, wenn Sie eine Taste drücken. Ein Blick auf src/cobalt/browser/web_module_stat_tracker.cc für eine Beschreibung der Event-Timing CVals.

Es gibt auch ein Build-Ziel layout_benchmarks, das die Nicht-Javascript-Teile eines vollständigen Layouts testet. Dies ist nicht ganz dasselbe wie ein inkrementelles Layout, und Javascript (InjectKeyboardEvent) ist eindeutig ein Großteil Ihrer Key-Handling-Kosten, aber es kann ein annehmbarer Proxy für die Gesamtleistung sein und ist zwischen Plattformen vergleichbar.

JavaScriptCore wird bald zugunsten von SpiderMonkey (a.k.a.mozjs) veraltet sein, und aus dem Cobalt-Baum entfernt werden, also ist es kein Weg der Erforschung mit viel Zukunft.

Beachten Sie, dass Linux X11 Cobalt nicht unbedingt so schnell wie Geräteplattformen ist, da die X11-Implementierung nicht besonders optimiert ist. MesaGL ist zum Beispiel Software-gerendert. Die Videokomposition ist relativ grob und die YUV-Konvertierung erfolgt ebenfalls auf der CPU.

Verwandte Themen