Update Harfbuzz lib #1862

Open
opened 4 months ago by win7-7 · 1 comments

Update Harfbuzz lib.

https://bugzilla.mozilla.org/show_bug.cgi?id=1698885

Idea is to update Harfbuzz to 2.8.0, this is 400-500ms performance improvement in attached testcase best case scenario from https://bugzilla.mozilla.org/show_bug.cgi?id=834609.

I have tested Harfbuzz 2.8.0 with manually changed to use opentype 1.8.3 to fit with freetype2 version 2.10.1 (backing out 17da41bd06)

UXP uses earlier in-tree ICU version I have ported https://bugzilla.mozilla.org/show_bug.cgi?id=1440943 which should prevent crashes with earlier ICU version, it should prevent scripting used being problem with earlier ICU version, but Harfbuzz update if wanted to UXP need testing from trav90 on Linux, athenian200 on Solaris and dbsoft on Mac OS X since Mac OS X support is returning to UXP later as said in this repo. Also Harfbuzz 2.8.0 requires using older/deprecated APIs since otherwise linking error with newer Harfbuzz APIs.

When used with UXP, using these deprecated API's causes warnings but compiles.

Update Harfbuzz lib. https://bugzilla.mozilla.org/show_bug.cgi?id=1698885 Idea is to update Harfbuzz to 2.8.0, this is 400-500ms performance improvement in attached testcase best case scenario from https://bugzilla.mozilla.org/show_bug.cgi?id=834609. I have tested Harfbuzz 2.8.0 with manually changed to use opentype 1.8.3 to fit with freetype2 version 2.10.1 (backing out https://github.com/harfbuzz/harfbuzz/commit/17da41bd06f2b993976379c8ab9287b485f58dee) UXP uses earlier in-tree ICU version I have ported https://bugzilla.mozilla.org/show_bug.cgi?id=1440943 which should prevent crashes with earlier ICU version, it should prevent scripting used being problem with earlier ICU version, but Harfbuzz update if wanted to UXP need testing from trav90 on Linux, athenian200 on Solaris and dbsoft on Mac OS X since Mac OS X support is returning to UXP later as said in this repo. Also Harfbuzz 2.8.0 requires using older/deprecated APIs since otherwise linking error with newer Harfbuzz APIs. When used with UXP, using these deprecated API's causes warnings but compiles.
Owner

is 400 ms win on a 12 MB monolithic HTML file in a best case scenario worth the risk? Did you keep in mind/test OTS and Graphite2 as well?
This sounds like a very risky change to me; there are many moving parts around font caching and rendering.

is 400 ms win on a 12 MB monolithic HTML file in a best case scenario worth the risk? Did you keep in mind/test OTS and Graphite2 as well? This sounds like a very risky change to me; there are many moving parts around font caching and rendering.
Moonchild added the
High Risk
Performance
labels 4 months ago
Moonchild added a new dependency 4 months ago
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Depends on
#1863 Update freetype2 lib
MoonchildProductions/UXP
Reference: MoonchildProductions/UXP#1862
Loading…
There is no content yet.