Scrolling Performance
It seems that as of 1.2.5, WebKitGtk has one fairly big usability issue comparing to QtWebKit: it has very slow (and high CPU usage) scrolling on some pages/sites. All browsers based on WebKitGit are slow on those pages, while all browsers based on QtWebKit are OK there, so that's indeed a framework issue.Midori FAQ has an entry on this ("Scrolling on website xyz is very slow").
It turns out that this can be result of multiple bugs:
- [Cairo] Enhance the performance of shadowed elements by tiling the shadow area - biggest contributor apparently
- [Cairo] Font fallback determination is very ineffecient
Examples:
- http://www.cmlenz.net/archives/2008/03/python-httplib-performance-problems: glorious example - scrolls well in the post body, but as soon as reaches table of comments, it's a crawl if not a hang.
- http://careers.stackoverflow.com/Jobs/7000/stack-overflow-developer-stack-overflow: entire page scrolls bad (note: most StackOverflow pages are not affected).
- http://forums.urbanterror.info/topic/22445-intel-gma-hd-performance-gma5700mhd/
- http://techfreaks4u.com/blog/?p=1021: just degraded scrolling performance.
- Login to Twitter, go to http://twitter.com/#!/search/#linux
Related:
- http://blogs.igalia.com/alex/2010/09/17/rendering-shadows-and-tiles/
- https://bbs.archlinux.org/viewtopic.php?pid=860692
Image Scaling Quality
On the other hand, when scaling images, QtWebKit 4.6.3 appears to (by default?) use nearest neighbour filter, while WebKitGtk uses smooth bilinear filter. In Qt 4.7.1 it's the same.
But it seems to be fixed in the latest QtWebKit, this post tells:
But it seems to be fixed in the latest QtWebKit, this post tells:
[01 Sep 2010] Re: no interpolation after scale image to a larger size?
This was fixed here:
[Qt] Enable smooth pixmap transforms by default
The change was too late for Qt 4.7 but will be part of the upcoming
QtWebKit 2.1 release.
As of now, QtWebKit 2.1 is still not released.
Btw, according to the patch, nearest-neigh filter is used exactly by default, it can be changed by client. Need to try that in Arora. - Well, not in Qt 4.6.3, there GraphicsContext::setImageInterpolationQuality() is empty.
No comments:
Post a Comment