[webkit-qt] TextureMapper activation and use without OpenGL (with underlying DirectFB backend)

noam.rosenthal at nokia.com noam.rosenthal at nokia.com
Wed Nov 2 07:04:31 PDT 2011


Hi Sebastien
Accelerated animations only work on -webkit-transform and opacity properties, not on "left", "size" or anything else.
You should be able to achieve your animation with "-webkit-transform", and that should not give you the excess of drawTextItem calls.
No'am

On Nov 2, 2011, at 2:35 AM, ext Sébastien Royer wrote:

> Hi,
> 
>    I only used QWebView. In that case I saw just flat objects (in the
> "circle" example:
> http://webkit.org/blog-files/3d-transforms/poster-circle.html)
>    When I use a QGraphicsWebView, in that case, I can see 3D objects now.
>    So, in this new configuration, I retried my very simple web site
> which only contains a text moving from left to right periodically, and
> using CSS3 "left" property animation (declaring it as
> "-webkit-transition:all 1s ease-in-out;").
>    In that precise case, which normally must have texturemapping being
> activated (As I understand), I still have the graphics method
> "QPaintEngine::drawTextItem()" being called for every frame during
> animation, and "not only once" at first draw need.
>    (Even not needed, and to answer your question, I checked that
> QWebSettings::AcceleratedCompositingEnabled is really set to true)
> 
>    Do you agree that this method "QPaintEngine::drawTextItem()" has not
> to be called every frame to redraw my "hello" text during animation ?
> 
>    Here is the content of my page:
> 
> <html>
> <head>
> <style type="text/css">
> #myText
> {
>        top: 100px;
>        left: 100px;
>        position: absolute;
>        -webkit-transition:all 1s ease-in-out;
> }
> </style>
> 
> <script language="javascript">
> var goRight = false;
> function onTimer()
> {
>  goRight = !goRight;
>  document.getElementById("myText").style.left = goRight ? '300px' :
> '100px';
>  setTimeout("onTimer()", 3500);
> }
> 
> setTimeout("onTimer()", 500);
> </script>
> </head>
> <body>
> <span id="myText">Hello</span>
> </body>
> </html>
> 
> 
> 
> Thx
> Sebastien
> 
> 
> Le 28/10/2011 15:11, noam.rosenthal at nokia.com a écrit :
>> (Replying to list)
>> It probably means that you have accelerated compositing turned off.
>> Are you building from trunk, or using a release?
>> In any case, in the releases accelerated-compositing only works for QGraphicsWebView and needs QWebSettings::AcceleratedCompositingEnabled to be set to true,
>> and in trunk it should work both for QWebView and for QGraphicsWebView.
>> 
>> No'am
>> 
>> On Oct 28, 2011, at 12:39 PM, ext Sébastien Royer wrote:
>> 
>> 
>>> Hi No'am
>>> 
>>>  Thanks for you answer.
>>>  Yes I use very light weight web sites that use webkit transforms/CSS.
>>>  I have tried the know web site you mention, and I can see the
>>> "circle" but with "flat" objects. Does it means TextureMapping is really
>>> "acting" ?
>>> 
>>>  In fact, in my case, I have a <div> that contains 1 image + 1 text
>>> ("Hello").
>>>  When I apply a translation (through -webkit-transition) for this div
>>> to shift 'smoothly' from one point to an other, I see in QT that the
>>> text "Hello" is asked to be drawn for Each frame during the animation
>>> (in QPaintEngine::drawTextItem() (text not accelerated yet)).
>>>  I believed that TextureMapping would prevent those "non needed"
>>> additionnal text drawings since the visual content of the div, which is
>>> moved, has definitely not changed... and would have been drawn once in a
>>> "texture".
>>> 
>>> Thx
>>> Sebastien
>>> 
>>> NB: I am sorry to answer to your email directly since apparently you did
>>> not reply to the mailing list. Sorry.
>>> 
>>> Le 27/10/2011 21:16, noam.rosenthal at nokia.com a écrit :
>>> 
>>>> Hi Sebastien,
>>>> 
>>>> On Oct 27, 2011, at 12:53 PM, ext Sébastien Royer wrote:
>>>> 
>>>> 
>>>> 
>>>>> Hi
>>>>> 
>>>>> But my first tests show me that TextureMapper is not used yet in my case.
>>>>> What is missing ? Or what do you suggest me to do for it to be used in
>>>>> this context ?
>>>>> 
>>>>> 
>>>> As of today in trunk, TextureMapper only gets activated in web content that becomes "composited", meaning code with CSS animations/3D. Does your web content fall under that category?
>>>> Have you tried it with one of the standard compositing tests (e.g. http://webkit.org/blog-files/3d-transforms/poster-circle.html)?
>>>> Opening that web-page above, do you see the "3D" circle, or just flat objects?
>>>> 
>>>> No'am
>>>> 
>>> 
>> 
> 
> _______________________________________________
> webkit-qt mailing list
> webkit-qt at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt



More information about the webkit-qt mailing list