Hi All,

I’m investigating the use of QtWebKit as a means to develop a desktop application with web technologies (HTML/JavaScript). I have a sample application with an embedded QtWebView that displays a small page with a JavaScript-powered graph application (Dracula[1] -- based on Raphael[2] -- is used to render the graph). When using a small graph (~10 nodes), everything is fine. On larger graphs (~100 nodes), however, the rendering lags so much that the graph is barely usable. Using recent Chrome and Firefox public releases (Windows and Linux), the display is snappy for ~100 nodes and pretty good even for much larger graphs (~500 nodes). Safari for Windows shows the same lag behavior as my application.

On Linux, experimentation with the QtTestBrowser in the WebKitTools shows that using a QGraphicsWebView instead of the "traditionnal" QWebView gives a substantial increase in performance, comparable with that experienced in Chrome. Enabling "AcceleratedCompositingEnabled" in the QWebSettings gives an additional performance boost. I thus did the switch to QtWebView in my application and enable accelerated compisiting. In these conditions (on Linux), the larger graphs (~100 nodes) are very responsive and really large graphs (~500 nodes) are totally usable. However, on Windows, there was a small performance boost but the lag did not dissapear. It is still unusable for ~100 nodes.

Thus, I'd like to try the QtTestBrowser in Windows to see if I can get similar performance before I start changing my code, but the WebKittools don't seem to be shipped with Qt. I though I'd build QtWebKit from source to get a local copy of the QtTestBrowser. Looking at WebKit, it seems to require use of Cygwin and the build instructions for WebKit on Windows[3][4] are overcomplicated and describe a long, painful and very flaky process (the page describes far too many *known* points of failure). Moreover, I've had bad experiences in the past with installing Cygwin on Windows, so I'm a bit hesitant to installing it on my dev machine.

Since I don't have Cygwin, QuickTime or DirectX installed and I can build Qt (which includes QtWebKit) from source, I started looking around. It seems Qt uses it's own ".pro" files and that the WebKit source code (at least, the one shipped with Qt) doesn't depend on Cygwin. What exactly is the role of Cygwin in WebKit? Is it only used in the build configuration? Is that why Qt does not need Cygwin to compile WebKit? Can I somehow get a build of the QtTestBrowser for Windows without spending two days trying to build WebKit? If I don't need Cygwin after WebKit is compiled, it would mean that I can at least build WebKit with the Cygwin toolchain in a virtual environment (or better, some pre-built package for Windows).

In the hope that this may help, here are the versions used to run tests:
A) My application: Windows 7 64-bit, Visual Studio 2008 Professional, CMake+NMake, Qt 4.7.4, 64-bit optimized build B) My application: Ubuntu Linux 11.10 64-bit, CMake+Make+GCC, Qt 4.7.4, 64-bit debug build C) QtTestBrowser: Ubuntu Linux 11.10 64-bit, today's trunk of QtWebKit 2.2 built with "build-webkit --qt".

André

[1]: http://www.graphdracula.net/
[2]: http://raphaeljs.com/
[3]: http://trac.webkit.org/wiki/BuildingOnWindows
[4]: http://www.webkit.org/building/tools.html
_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-help

Reply via email to