Skip to content

[web:canvaskit] severe performance regression in text layout #123484

Closed
@yjbanov

Description

@yjbanov

Multiple text layout benchmarks regressed by 3.5x. This started with #123423. The only thing in that roll that seems relevant is flutter/engine#40470. That change only flips the default build of CanvasKit from unpkg to the local build. I thought we were already using local build, so this is surprising. Maybe we were still hitting the NPM build in benchmarks. Perhaps the issue is in the Chromium build (cc @mdebbar). Could this be v8BreakIterator related? Should we cache string fragmentation results?

Skia Perf: https://flutter-flutter-perf.skia.org/e/?queries=sub_result%3Dtext_canvaskit_layout.canvaskit.single_line.layout.average%26sub_result%3Dtext_canvaskit_layout.canvaskit.multi_line.layout.average%26sub_result%3Dtext_canvaskit_layout.canvaskit.max_lines.layout.average%26sub_result%3Dtext_canvaskit_layout.canvaskit.ellipsis.layout.average&selected=commit%3D33995%26name%3D%252Carch%253Dintel%252Cbranch%253Dmaster%252Cconfig%253Ddefault%252Cdevice_type%253Dnone%252Cdevice_version%253Dnone%252Chost_type%253Dlinux%252Csub_result%253Dtext_canvaskit_layout.canvaskit.max_lines.layout.average%252Ctest%253Dweb_benchmarks_canvaskit%252C

Metadata

Metadata

Assignees

Labels

P0Critical issues such as a build break or regressiona: typographyText rendering, possibly libtxtc: performanceRelates to speed or footprint issues (see "perf:" labels)e: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Webengineflutter/engine repository. See also e: labels.platform-webWeb applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions