Bug 57554 - [Qt] QML Webview causes performance drops
Summary: [Qt] QML Webview causes performance drops
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: S60 Hardware S60 3rd edition
: P3 Normal
Assignee: Nobody
URL: https://qtrequirements.europe.nokia.c...
Keywords: Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2011-03-31 09:22 PDT by timo.vitikainen
Modified: 2011-07-01 07:46 PDT (History)
5 users (show)

See Also:


Attachments
Disable tiling in QML WebView (1.18 KB, patch)
2011-06-24 06:52 PDT, Fabrizio
no flags Details | Formatted Diff | Diff
remove extraneous whitespace (1.28 KB, patch)
2011-06-24 07:29 PDT, Fabrizio
no flags Details | Formatted Diff | Diff
Disable tiling only for Symbian (1.23 KB, patch)
2011-06-28 07:48 PDT, Fabrizio
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description timo.vitikainen 2011-03-31 09:22:27 PDT
Performance issue is revealed using two demo applications on N8: a) QML wrapper app and b) QGraphicsWebview (non-QML) app. Both of these demo apps have the same HTML5 code (including e.g. HTML5 canvas and full-screen transitions) - see the URL.

Root cause for the revealed perf drops problem is assumed to be the page level tiling in QDeclarativeWebview. 

Another problem with the tiling (enabled in the QML WebView) is that it does not support HTML5 parallax scrolling, actually tiling kills the whole rendering of the content that includes parallax scrolling.  

Proposed fix is to disable the page level tiling from the QDeclarativeWebview. After that change tiling could be still enabled in global QWebSettings in application code (main.cpp) similarly as currently e.g. AC, if needed by the application.
Comment 1 Benjamin Poulain 2011-03-31 09:39:26 PDT
You mix two concepts very different concepts here:
-mobile layout of website
-performance

I suggest you to clarify what is this bug about.
Comment 2 timo.vitikainen 2011-03-31 09:44:49 PDT
(In reply to comment #1)
> You mix two concepts very different concepts here:
> -mobile layout of website
> -performance
> 
> I suggest you to clarify what is this bug about.

Perf issue is the main problem and explained here:
https://qtrequirements.europe.nokia.com/browse/QT-4834
Comment 3 Benjamin Poulain 2011-03-31 09:50:49 PDT
(In reply to comment #2)
> Perf issue is the main problem and explained here:
> https://qtrequirements.europe.nokia.com/browse/QT-4834

Ok, so this bug is a meta-bug for many problems.
I suggest you to create dependencies for each problem and put the right people in CC for each one.
Comment 4 timo.vitikainen 2011-04-01 00:43:00 PDT
(In reply to comment #3)
This bug is about perf drops problem in QML WebView. 

Proposed fix (i.e. disabling of tiling) to that problem also enables QML WebView to get same support for parallax scrolling than now available via QGraphicsWebView (ref. MWC mobile-hybrid-demo on N8).
Comment 5 Fabrizio 2011-06-24 06:52:01 PDT
Created attachment 98489 [details]
Disable tiling in QML WebView
Comment 6 Benjamin Poulain 2011-06-24 06:59:14 PDT
Could you at least share a profile/trace of a reduction so one can see if the patch is the best solution?
Comment 7 Benjamin Poulain 2011-06-24 07:00:52 PDT
Comment on attachment 98489 [details]
Disable tiling in QML WebView

I clear the review flag. No problem with the patch itself but we need more info in order to make a review.
(Note that you should also remove the 2 blank lines before the end of the block).
Comment 8 Fabrizio 2011-06-24 07:29:07 PDT
Created attachment 98491 [details]
remove extraneous whitespace

Hi Benjamin, Timo posted the use case in:
https://qtrequirements.europe.nokia.com/browse/QT-4834

I don't have any profiling data handy, maybe Timo can chime in if it is necessary.  But the impact is severe to the user, and we have observed much improved responsiveness of the demo app with tiling disabled in qml webview.  Please let me know if you need further details.  Hopefully Timo is reading as well and adds his comments.
Comment 9 timo.vitikainen 2011-06-27 07:29:44 PDT
(In reply to comment #8)

This patch has clear/visible perf boost for dynamic HTML5 content, see QT-4834.

With this patch the default tiling setting in QDeclarativeWebview (QML WebView) and QGraphicsWebview will get aligned for developers, since tiling is currently disabled in QGraphicsWebview used in Qt hybrid apps.  

After integration of this patch it will be still possible for QML hybrid apps developers to enable tiling (with one code line) if use case/content can get benefit out from that feature. This possibility is currently available for Qt hybrid apps developers.
Comment 10 Benjamin Poulain 2011-06-27 07:55:50 PDT
I don't see any profile on QT-4834 (?).

How can a reviewer know if that is not graphics system related for example? This might well be a problem only for the Symbian 3 platform (OpenVG + dedicated memory is a special case of rendering). Maybe a #ifdef for SYMBIAN_3 is necessary, but one cannot tell without a clear profile.
Comment 11 timo.vitikainen 2011-06-28 01:36:16 PDT
(In reply to comment #10)
 
Platform (of this bug): S60 Harware, S60 3rd edition. 
I.e. Symbian 3 platform.
Comment 12 Fabrizio 2011-06-28 07:48:27 PDT
Created attachment 98920 [details]
Disable tiling only for Symbian

Thanks TImo.

Benjamin, will this fly??
Comment 13 Benjamin Poulain 2011-06-30 06:48:53 PDT
Comment on attachment 98920 [details]
Disable tiling only for Symbian

Let's try and see how that behave.
Comment 14 WebKit Review Bot 2011-06-30 06:59:54 PDT
Comment on attachment 98920 [details]
Disable tiling only for Symbian

Clearing flags on attachment: 98920

Committed r90113: <http://trac.webkit.org/changeset/90113>
Comment 15 WebKit Review Bot 2011-06-30 06:59:58 PDT
All reviewed patches have been landed.  Closing bug.
Comment 16 Ademar Reis 2011-07-01 07:46:23 PDT
Revision r90113 cherry-picked into qtwebkit-2.2 with commit 74bcfbc <http://gitorious.org/webkit/qtwebkit/commit/74bcfbc>