[Webkit-unassigned] [Bug 66650] [Qt] Flash in a QGraphicsWebView using OpenGL is slow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 22 11:48:52 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=66650





--- Comment #6 from Christophe Oosterlynck <tiftof at gmail.com>  2011-08-22 11:48:52 PST ---
(From update of attachment 104664)
View in context: https://bugs.webkit.org/attachment.cgi?id=104664&action=review

>> Source/WebCore/plugins/qt/PluginViewQt.cpp:167
>>                  XFreePixmap(QX11Info::display(), m_drawable);
> 
> So, if we're on Linux we keep two pixmaps alive all the time? Sounds memory inefficient.

True. I could work with pointers to pixmap and only initialize the pixmap needed. The problem is, that there is no way to know at this point if the painter that is going to be passed to the paint() method is using OpenGL or not.

In the paint method I could also keep the check and create the QPixmap on every paint call (and maybe keep a pointer to it as a member variable => only create the QPixmap on the first draw). The same would have to be done for the m_drawable handle (call XCreatePixmap in the paint() method the first time paint() gets called).

>> Source/WebCore/plugins/qt/PluginViewQt.cpp:299
>> +        qtDrawable = QPixmap::fromX11Pixmap(m_drawable, QPixmap::ExplicitlyShared);
> 
> This is cheap, but not free. Doing it for every draw is not efficient.

This is not new. See the original @ line 284. This is just the original code necessary to work with an X11Pixmap.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list