Page MenuHomeSolus

Update libwebkit-gtk to 2.24.3 and optimize it
ClosedPublic

Authored by Jacalz on Jul 7 2019, 5:43 PM.
Tags
  • Restricted Project
Referenced Files
F11050405: D6706.id.diff
Thu, Aug 10, 7:00 PM
F11050404: D6706.id16089.diff
Thu, Aug 10, 7:00 PM
F11050403: D6706.id16136.diff
Thu, Aug 10, 7:00 PM
F11035822: D6706.diff
Wed, Aug 9, 6:27 PM
F10850617: D6706.id16136.diff
Jun 12 2023, 5:37 AM
F10844803: D6706.id16089.diff
Jun 10 2023, 10:03 PM
F10825598: D6706.diff
Jun 4 2023, 12:38 AM
F10706738: D6706.id.diff
Apr 26 2023, 11:47 PM
Subscribers

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
Branch
master
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

Jacalz requested review of this revision.Jul 7 2019, 5:43 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 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.