DevTools: Utilize WebGL to draw flamechart bars.
This speeds up bars drawing by an order of magnitude as all the work is
delegated to the GPU.
Vertex layout is performed once when model is loaded or when groups are
expanded/collapsed. The actual drawing caused by zooming and panning the
flamechart just modifies the transformation matrices.
Titles and custom decorations are still drawn on the overlay 2D canvas.
The WebGL mode is currently put behind an experiment.
BUG=874116
Change-Id: I5984db2769d8ed5317b630bd705ab8447baa9358
Reviewed-on: https://chromium-review.googlesource.com/1174861
Commit-Queue: Alexei Filippov <[email protected]>
Reviewed-by: Aleksey Kozyatinskiy <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#583025}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 25756bb57ac19835e0d0607f8f47283be1e63688
diff --git a/front_end/main/Main.js b/front_end/main/Main.js
index 1eccc5d..5d653f4 100644
--- a/front_end/main/Main.js
+++ b/front_end/main/Main.js
@@ -131,6 +131,7 @@
Runtime.experiments.register('timelineShowAllEvents', 'Timeline: show all events', true);
Runtime.experiments.register('timelineTracingJSProfile', 'Timeline: tracing based JS profiler', true);
Runtime.experiments.register('timelineV8RuntimeCallStats', 'Timeline: V8 Runtime Call Stats on Timeline', true);
+ Runtime.experiments.register('timelineWebGL', 'Timeline: WebGL-based flamechart');
Runtime.experiments.cleanUpStaleExperiments();