RESOLVED INVALID50220
[Qt] Flickering in QML WebView when using accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=50220
Summary [Qt] Flickering in QML WebView when using accelerated compositing
Henry Haverinen
Reported 2010-11-30 03:39:18 PST
When rendering content that uses CSS transitions with accelerated compositing enabled, QML WebView flickers.
Attachments
Benjamin Poulain
Comment 1 2010-11-30 03:51:14 PST
I reject the bug report, the plan is for everybody to get away from graphics view, I think we should not spend more time on graphics view bugs with AC.
Henry Haverinen
Comment 2 2010-11-30 04:14:33 PST
It may take some time before we have something not based on Graphics View available for developers. Accelerated compositing is enabled by default, so by default, CSS3 stuff in the QML WebView is not usable. So I don't think it's really sufficient to just reject the bug. So maybe we could - disable accelerated compositing by default and document that if you enable it, then it won't work with QML WebView (where tiling is always enabled) or tiling in general - keep AC enabled by default but disable it in Qt Creator's Qt Quick application project template (+ update the documentation) - just fix the bug (e.g if there is a way to fix it for cases where tiles are not being scrolled). That would be sufficient e.g. for ad banners and other non-scrollable content.
Benjamin Poulain
Comment 3 2010-11-30 04:25:16 PST
To clarify, I meant the texture mapper is the long term solution and fixing graphics view problems is only short term solution. I keep the bug rejected as long as there is no owner. If someone in Boston want to take this, feel free to assign the bug and reopen it.
Henry Haverinen
Comment 4 2010-12-07 02:48:24 PST
Reopening and assigning to Sriram.
Laszlo Gombos
Comment 5 2010-12-09 09:15:12 PST
Talking to Benjamin, I think the next step is to understand CSS3 performance with the WebKit trunk when texture mapper is enabled ("build-webkit CONFIG+=texmap"). In this particular build configuration CSS3 transitions will no longer use GraphicsView and the CSS3 transition performance should improve.
Gopal Raghavan
Comment 6 2010-12-10 13:56:43 PST
I need to clearly understand the issue. What do you mean by "flicker". I tried http://labs.qt.nokia.com/2010/05/17/qtwebkit-now-accelerates-css-animations-3d-transforms/ inside QML WebView with and without flickable. It seems to do 3d animation, although little bit rusty. I didn't see any flicker. Can you share your qml example, may be that will clarify. Also, there seems to be no code within qt/declarative that is directly related to accelerated compositing, except -DWTF_USE_ACCELERATED_COMPOSITING in makefile. Not still sure how to selectively disable it for QML alone.
Suresh Voruganti
Comment 7 2010-12-13 07:07:19 PST
Fix required for Qtwebkit 2.1
Gopal Raghavan
Comment 8 2010-12-17 14:23:48 PST
This issues can be resolved by using -webkit-backface-visibility. I have already sent demo app and video clip to Henry/Timo etc. Thanks, -- Gopal
Kevin Simons
Comment 9 2010-12-20 06:36:41 PST
Should the developer need to know that they need to add -webkit-backface-visibility: hidden? If the flickering is caused by tiling + accelerated compositing, can we just have a smarter default value for -webkit-backface-visibility in the case when they're both enabled? Or is this just a proposed workaround while you try to solve the root cause?
Benjamin Poulain
Comment 10 2010-12-20 07:06:23 PST
(In reply to comment #9) > Should the developer need to know that they need to add -webkit-backface-visibility: hidden? If the flickering is caused by tiling + accelerated compositing, can we just have a smarter default value for -webkit-backface-visibility in the case when they're both enabled? > > Or is this just a proposed workaround while you try to solve the root cause? I think it was just a workaround. The content provider should not be forced to use -webkit-backface-visibility.
Gopal Raghavan
Comment 11 2010-12-20 12:58:06 PST
The suggested workaround here is to set backface-visibility to hidden. By default it is visible as per css3 spec http://www.w3.org/TR/css3-3d-transforms/#backface-visibility-property. I see chrome, safari users also explicitly setting this property. For example: http://webkit.org/blog-files/3d-transforms/morphing-cubes.html BR, -- Gopal
Laszlo Gombos
Comment 12 2010-12-23 06:27:01 PST
I do not think this should block the 2.1 release.
Ademar Reis
Comment 13 2010-12-28 13:38:09 PST
As discussed (in pvt) with Suresh, this should not block qtwebkit-2.1. Marking as a nice-to-have fix for qtwebkit-2.2 (later it can be triaged and promoted to blocker if necessary)
Suresh Voruganti
Comment 14 2011-01-10 08:08:19 PST
Discussed in pvt with Henry and we agreed to close the error as Invalid as the current implementation is as per Spec.
Note You need to log in before you can comment on or make changes to this bug.