[webkit-qt] progressive rendering in a QML browser

Olivier Tilloy olivier at tilloy.net
Mon Mar 25 06:58:26 PDT 2013


On 2013-03-25, Andras Becsi <abecsi at webkit.org> wrote:
> On 25 March 2013 11:28, Olivier Tilloy <olivier at tilloy.net
> <mailto:olivier at tilloy.net>> wrote:
>
>     Hi all,
>
>     I have been observing that the rendering of web pages in a QML
>     browser seems to happen in one go at the very end of the loading
>     process, as opposed to other webkit browsers (such as chromium).
>
>     In my tests, I deleted the cache and I intentionally slowed down the
>     network interface to better observe when rendering starts to happen.
>     I’ve mostly experimented with http://nytimes.com, which is a rather
>     heavy page. I’m running those tests on an x86 desktop machine, but
>     the same results are observed on mobile hardware (armhf).
>
>     With the QML MiniBrowser compiled from webkit trunk against QtWebKit
>     5.0, nothing is rendered until the page is fully loaded (i.e. the
>     webview remains completely blank until the progress bar reaches
>     completion).
>
> Just quickly ran a test with MiniBrowser on my desktop and for me with a
> clean cache even heavy pages like nytimes.com <http://nytimes.com> start
> to render when the progress bar is at about 50% completion. Although
> this probably varies depending on network and HW speed.
>
> This is comparably similar behaviour as you would experience with Safari
> on Mac.

Thanks for the heads-up! So this means my build of QtWebKit somehow is 
to blame.
I’m using libqt5webkit5-qmlwebkitplugin 
5.0.0-0ubuntu1~quantal1~test5~withdebug~gstabs~patches (from 
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-proper) in 
Ubuntu 12.10, which according to the source package is based off trunk 
subversion revision 136242.

I’ll test a full build from trunk to see if that makes any difference.


>     With chromium (25.0.1364.160-0ubuntu0.12.10.__1), rendering is
>     clearly progressive, with elements of the page being displayed
>     before loading is complete (and of course, some re-layout happening).
>
>
> With Chromium the perceived page load / rendering speed is much faster
> because the browser uses a variety of speculative optimization
> techniques to speed up page loading. Among others these are resource
> pre-fetching and page pre-rendering, which are implemented in the
> browser [1] and depend on mouse-hover and usage heuristics.

Good to know. I was comparing to chromium because that’s what I had at 
hand, but I’d be happy even without speculative optimization techniques, 
if I can get pages to start rendering at ~ 50% loading completion, as 
you’re observing.


>     Is this a known issue/feature? Are there some build options that I
>     can experiment with to tweak this?
>
> As far as I know we have only access to DNS-prefetching with WebKit2
> QtWebKit, which is enabled by default.

Thanks for the info!

  Olivier


More information about the webkit-qt mailing list