[Qt-qml] QML memory usage with "import QtWebKit"
shane.kearns at accenture.com
shane.kearns at accenture.com
Wed Dec 15 18:50:19 CET 2010
QtWebkit.dll has a code size of 8.2MB. (on symbian/armv6 - 10MB for windows/x86 doesn't seem unreasonable)
loading the dll will allocate that much address space in your process - but the kernel won't page-in code until the point of use.
Most of the tools showing memory use are including the total code size of the application and dlls, regardless if they are paged in or not.
Dll loading will call constructors of global data immediately (I don't know how much of this there is in webkit, but that may allocate memory)
I wouldn't find it strange for QML to be loading plugins at the time it processes the import statement. (if you've imported a plugin you're most likely going to use it)
Webkit plugin has a dependency on webkit - so the OS must load the webkit dll as well.
--
Communications with Accenture or any of its group companies ("Accenture Group") including telephone calls and emails (including content), may be monitored by our systems for the purposes of security and the assessment of internal compliance with company policy. Accenture Group does not accept service by e-mail of court proceedings, other processes or formal notices of any kind.
Accenture means Accenture (UK) Limited (registered number 4757301), Accenture Technology Solutions Limited (registered number 4442596), or Accenture HR Services Limited (registered number 3957974), all registered in England and Wales with registered addresses at 30 Fenchurch Street, London EC3M 3BD, as the case may be.
From: qt-qml-bounces+shane.kearns=accenture.com at qt.nokia.com [mailto:qt-qml-bounces+shane.kearns=accenture.com at qt.nokia.com] On Behalf Of Gregory Schlomoff
Sent: Wednesday, December 15, 2010 11:00
To: warwick.allison at nokia.com
Cc: qt-qml at trolltech.com
Subject: Re: [Qt-qml] QML memory usage with "import QtWebKit"
Hello Warwick
I just want to clarify something that maybe wasn't clear from my original mail:
I'm sharing those numbers not because I think they are somehow too high, or too low, but because I am surprised to see memory usage *grow by a significant amount* even when I'm *not instantiating* anything.
Put it another way: the fact that a single "import WebKit 1.0" line adds 10 MB of memory usage, even though I'm NOT instantiating any WebView element is an unexpected behaviour to me, and may indicate either a bug with the way QML deals with imports, or a normal but unexpected behavior that should be explained / documented.
Thanks
Greg
On Wed, Dec 15, 2010 at 8:51 AM, <warwick.allison at nokia.com<mailto:warwick.allison at nokia.com>> wrote:
"Memory usage" is not a simple integer. If those numbers are mainly shared read-only code pages it's perfectly normal and you may shrug and move on, if they're for every application using webkit that would be unexpected.
But in general, don't expect a web runtime to somehow be small just because it happens to be instantiated from QML. Doing HTML from QML is no better an idea than doing it all in a regular web browser.
--
Warwick
From: qt-qml-bounces at trolltech.com<mailto:qt-qml-bounces at trolltech.com> [mailto:qt-qml-bounces at trolltech.com<mailto:qt-qml-bounces at trolltech.com>] On Behalf Of ext Gregory Schlomoff
Sent: Tuesday, December 14, 2010 4:52 PM
To: Brasser Michael (Nokia-MS-Qt/Brisbane)
Cc: qt-qml at trolltech.com<mailto:qt-qml at trolltech.com>
Subject: Re: [Qt-qml] QML memory usage with "import QtWebKit"
Hi Michael,
Sorry, I didn't understand from your email if you think it's normal that memory usage goes up 10 Mb by just importing WebKit without using it ?
What I mean is: does it look like an issue that should be investigated, or should we just shrug and move on?
:)
Thanks
Greg
On Tue, Dec 14, 2010 at 12:52 PM, <michael.brasser at nokia.com<mailto:michael.brasser at nokia.com>> wrote:
Hi Greg,
On 10/12/2010, at 4:52 PM, ext Gregory Schlomoff wrote:
Hi Michael,
Somme additional figures:
1. Empty Rectangle, not importing QtWebkit: ~ 3MB
2. Empty Rectangle, importing QtWebkit: ~ 13MB
3. Rectangle with an empty WebView: ~ 14 MB
4. Setting url: "about:blank" in the WebView: ~15 MB
5. Setting url: "http://www.google.com/": ~19 MB (and a repaint bug: webview displays a checkered background, and I have to resize the window a little bit to make it actually paint the page.)
Okay, thanks for sharing these. They are in the ballpark of what I would have expected based on prior observation, though I am definitely not a webkit expert. If you want to dig more, you could try comparing with QWebView or QGraphicsWebView (QML WebView memory usage should be identical to QGraphicsWebView with QWebSettings::TiledBackingStoreEnabled set (which does increase memory usage because of the pixmap caching)). Maybe someone familiar with QtWebKit can provide more information, or say whether there are any ways to tweak the memory usage?
You can track the repaint bug (I think they are the same) at https://bugs.webkit.org/show_bug.cgi?id=50222.
Regards,
Michael
All tests on windows 7 64-bits, running qmlviewer.exe built from the 4.7.0 branch on Oct, 6.
Thanks,
Greg
On Fri, Dec 10, 2010 at 12:12 PM, <michael.brasser at nokia.com<mailto:michael.brasser at nokia.com>> wrote:
Hi Greg,
>From what I remember 10MB for the "base" usage of webkit sounds about right, though I didn't realize that just an import statement would add this cost. Did you try any other configurations? e.g. did adding an empty WebView cause the memory to go up or was it still around 13MB?
Regards,
Michael
On 30/11/2010, at 6:48 PM, ext Gregory Schlomoff wrote:
> Hello,
>
> One simple observation. Launching the following code in qmlviewer.exe,
> I get a memory usage of aroung 3 megabytes:
> -----------------------
> import QtQuick 1.0
>
> Rectangle {
> width: 200
> height: 200
> }
> ------------------------
>
> Now, with the following code, memory usage jumps to 13 megabytes. I'm
> not instantiating any WebView element, just importing QtWebkit.
> -----------------------
> import QtQuick 1.0
> import QtWebKit 1.0
>
> Rectangle {
> width: 200
> height: 200
> }
> ------------------------
>
> Is that normal? Would someone care to explain what the import
> statement is doing that is adding 10 mb of memory consumption?
>
> Thanks
>
> Greg
> _______________________________________________
> Qt-qml mailing list
> Qt-qml at trolltech.com<mailto:Qt-qml at trolltech.com>
> http://lists.trolltech.com/mailman/listinfo/qt-qml
This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt.nokia.com/pipermail/qt-qml/attachments/20101215/04827458/attachment-0001.html
More information about the Qt-qml
mailing list