Page MenuHomeSolus

Update libwebkit-gtk to 2.24.3 and optimize it
ClosedPublic

Authored by Jacalz on Jul 7 2019, 5:43 PM.

Details

Summary

Summarized Changelog:

  • Fix rendering of emojis copy-pasted from GTK emoji chooser.
  • Fix space characters not being rendered with some CJK fonts.
  • Set a maximum zoom level for pinch zooming gesture.
  • Fix navigation gesture to not interfere with scrolling.
  • Deprecate WebSQL APIs.
  • Make Previous/Next gesture work in RTL mode.
  • Fix content disappearing when using CSS transforms.
  • Fix rendering artifacts in youtube volume button.
  • Fix trapezoid artifact in github comment box.
  • Fix video pause that sometimes caused to skip to finish.
  • Fix volume level changes when playing a video.
  • Fix HLS streams being slow to start.
  • Fix some radio streams that could not be played.
  • Fix several crashes and rendering issues.
  • Translation updates for: Danish, Spanish, Ukrainian and Brazilian Portuguese.
  • Security fixes: CVE-2019-8595, CVE-2019-8607, CVE-2019-8615.

Packaging Changes:

  • Switch to Clang compiler and speed optimization preset for 5 to 10% better performance on average.
Test Plan
  • A bunch of benchmarks between different opimization levels with webkit package in a simple GO app.
  • General testing on a lot of websites in epiphany.
  • Testing between older verison and new to make sure that no major issues sneaks in.

Diff Detail

Repository
R3336 libwebkit-gtk
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Jacalz created this revision.Jul 7 2019, 5:43 PM
Jacalz requested review of this revision.Jul 7 2019, 5:43 PM
Jacalz added a comment.EditedJul 7 2019, 5:47 PM

Here are some raw numbers for those who are interested in the optimization part:

no-symbolic (gcc):

  • Speedometer: 61.70 ± 0.58 / 61.84 ± 0.40
  • JetStream2: 84.916 / 88.054
  • Motionmark: 263.49 ± 15.34%

no-symbolic + speed (gcc):

  • Speedometer: 63.32 ± 0.34 / 63.30 ± 0.35
  • JetStream2: 88.121 / 89.266
  • Motionmark: 263.66 ± 10.13%

no-symbolic + speed (clang):

  • Speedometer: 66.07 ± 0.44 / 66.21 ± 0.44
  • JetStream2: 89.845 / 91.314
  • Motionmark: 289.29 ± 3.43%

Clang and speed preset gives us an average performance improvement of around five to ten percent 👍
The package fails to build with any sort of LTO and unroll-loops regresses performance in my testing, so there isn't much more to do in regards to compile time optimizations as far as I can tell...

JoshStrobl added a project: Restricted Project.Jul 11 2019, 12:48 PM
JoshStrobl accepted this revision.Jul 11 2019, 12:51 PM
JoshStrobl added a subscriber: JoshStrobl.

Thanks for not only updating it, but taking that opportunity (and the time) to work on performance improvements for it. It's much appreciated!

This revision is now accepted and ready to land.Jul 11 2019, 12:51 PM
This revision was automatically updated to reflect the committed changes.