diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 29bd527d3..a7df853ea 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -106,6 +106,7 @@ Fixes - The "try again" button on error pages works correctly again. - :spawn -u -d is now disallowed. - :spawn -d shows error messages correctly now. +- Performance improvements for smooth scrolling v0.11.0 ------- diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 4de4bf26f..09df38e82 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -333,9 +333,10 @@ class WebEngineScroller(browsertab.AbstractScroller): perc_y = min(100, round(100 / dy * jsret['px']['y'])) self._at_bottom = math.ceil(jsret['px']['y']) >= dy - self._pos_perc = perc_x, perc_y - self.perc_changed.emit(*self._pos_perc) + if self._pos_perc != (perc_x, perc_y): + self._pos_perc = perc_x, perc_y + self.perc_changed.emit(*self._pos_perc) js_code = javascript.assemble('scroll', 'pos') self._tab.run_js_async(js_code, update_pos_cb)