Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Issue 1866863002: Reland: Move glyph lookup to hb-ot-font and remove glyph cache in HarfBuzzFace (Closed)

Created:
4 years, 8 months ago by drott
Modified:
4 years, 8 months ago
Reviewers:
kojii, eae, behdad
CC:
blink-reviews, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, Dirk Pranke, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Move glyph lookup to hb-ot-font and remove glyph cache in HarfBuzzFace Relanding after previously reverted because it caused linkage issues for chromeos=1 developer builds in Linux. These should be addressed now through dpranke@'s fixes in issue 589342. Together with Behdad we identified several ways to optimize and cleanup HarfBuzzFace: * We moved the glyph lookup completely to the built-in HarfBuzz implementation in hb-ot-font. * This allows us to remove the unbounded glyph cache we kept around in HarfBuzzFace. * We also moved instantantion and ownership of HarfBuzzFontData to HarfBuzzFace. We only update the size and unicode-range on each call to getScaledFont(), saving us as the allocation and setup costs of this object for each shaping call. * We removed the unneeded callback for retrieving the horizontal origin, which was implemented as a noop. In local measurements on Mac this leads to large improvements in the blink_perf.layout tests, especially in chapter-reflow-once-random (>130%), flexbox-lots-of-data (>58%) and ArabicLineLayout (>26%) with only a few of the microbenchmarks being slightly slower: So this is an improvement for layout cases that do not profit much from the word cache. TBR'ing since this has previously been LGTMed in https://codereview.chromium.org/1733193002 BUG=589340 TBR=eae,behdad,kojii Committed: https://crrev.com/b2a8582e83ef3022ac1cc65648348dfd168b77cd Cr-Commit-Position: refs/heads/master@{#385631}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -81 lines) Patch
M third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.h View 2 chunks +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp View 11 chunks +25 lines, -72 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 11 (5 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1866863002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1866863002/1
4 years, 8 months ago (2016-04-06 22:30:58 UTC) #2
drott
Dirk's changes landed \o/, and I think this should be finally good to go, yay!
4 years, 8 months ago (2016-04-06 22:31:12 UTC) #3
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-07 00:46:19 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1866863002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1866863002/1
4 years, 8 months ago (2016-04-07 02:34:02 UTC) #8
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 8 months ago (2016-04-07 02:39:54 UTC) #9
commit-bot: I haz the power
4 years, 8 months ago (2016-04-07 02:41:15 UTC) #11
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/b2a8582e83ef3022ac1cc65648348dfd168b77cd
Cr-Commit-Position: refs/heads/master@{#385631}

Powered by Google App Engine
This is Rietveld 408576698