[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-dev
Subject:    Re: [webkit-dev] Implement threaded model of Coordinated Graphics
From:       noam.rosenthal () nokia ! com
Date:       2012-11-16 18:29:40
Message-ID: 9DCC9DB73CE0234F821B00AF47F30CE7080963CA () 008-AM1MPN2-082 ! mgdnok ! nokia ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Slava, I think the new proposal is about threading in the web process, not in the UI \
process like we do in Qt. I've posted some comments on the meta bug, thank you for \
the heads up on the mailing list! No'am

From: ext Vyacheslav Ostapenko <ostap73@gmail.com<mailto:ostap73@gmail.com>>
Date: Friday, November 16, 2012 10:12 AM
To: Jae Hyun Park <jae.park@company100.net<mailto:jae.park@company100.net>>
Cc: "webkit-dev@lists.webkit.org<mailto:webkit-dev@lists.webkit.org>" \
                <webkit-dev@lists.webkit.org<mailto:webkit-dev@lists.webkit.org>>
Subject: Re: [webkit-dev] Implement threaded model of Coordinated Graphics


Qt WK2 port already runs layer tree painting on separate thread.
Layer tree renderer is created on main thread, but rendering is performed only on \
paint thread. Qt5 creates paint nodes for painting and QQuickWebPage paint node keeps \
threaded reference on LayerTreeRenderer. Messages to LayerTreeRenderer are delivered \
through dispatchUpdate/bind/renderQueue . All updates from renderQueue to renderer \
are applied in QQuickWebPage::updatePaintNode call. QQuickItem::updatePaintNode is \
very special call. During this call main thread is locked and it is safe to access \
main thread objects from paint thread. \
http://doc-snapshot.qt-project.org/5.0/qquickitem.html#updatePaintNode

So, the only thing that needs to be implemented for GTK is replacement for Qt paint \
node and sync point similar to QQuickItem::updatePaintNode .

Slava

On Fri, Nov 16, 2012 at 12:44 AM, Jae Hyun Park \
<jae.park@company100.net<mailto:jae.park@company100.net>> wrote: Hi, webkit folks.

Our team is currently implementing threaded model of Coordinated Graphics in GTK+ \
port. https://bugs.webkit.org/show_bug.cgi?id=100341
The purpose of sharing is to report our progress and make reviewers easier to \
understand the overview picture.

We have updated the design document in the link below:
https://docs.google.com/document/pub?id=1UoI1zk-6nTUFtz8i4evURM8aQIjkDRC8boO1zPdMMBg

Our prototype for this implementation is shared in the GitHub.
https://github.com/ryumiel/webkit-experimental

The prototype is still in development, and only implemented up to step 1 in our \
design document.

Any comments/concerns are appreciated.

Best regards,
Jae Hyun Park

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org<mailto:webkit-dev@lists.webkit.org>
http://lists.webkit.org/mailman/listinfo/webkit-dev


[Attachment #5 (unknown)]

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: \
after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, \
sans-serif; "> <div>Slava, I think the new proposal is about threading in the web \
process, not in the UI process like we do in Qt.</div> <div>I've posted some comments \
on the meta bug, thank you for the heads up on the mailing list!</div> \
<div>No'am</div> <div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; \
BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; \
PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: \
medium none; PADDING-TOP: 3pt"> <span style="font-weight:bold">From: </span>ext \
Vyacheslav Ostapenko &lt;<a \
href="mailto:ostap73@gmail.com">ostap73@gmail.com</a>&gt;<br> <span \
style="font-weight:bold">Date: </span>Friday, November 16, 2012 10:12 AM<br> <span \
style="font-weight:bold">To: </span>Jae Hyun Park &lt;<a \
href="mailto:jae.park@company100.net">jae.park@company100.net</a>&gt;<br> <span \
style="font-weight:bold">Cc: </span>&quot;<a \
href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a>&quot; \
&lt;<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a>&gt;<br>
 <span style="font-weight:bold">Subject: </span>Re: [webkit-dev] Implement threaded \
model of Coordinated Graphics<br> </div>
<div><br>
</div>
<div>
<div><br>
Qt WK2 port already runs layer tree painting on separate thread.<br>
Layer tree renderer is created on main thread, but rendering is performed only on \
paint thread.<br> Qt5 creates paint nodes for painting and QQuickWebPage paint node \
keeps threaded reference on LayerTreeRenderer. Messages to LayerTreeRenderer are \
delivered through dispatchUpdate/bind/renderQueue .<br> All updates from renderQueue \
to renderer are applied in QQuickWebPage::updatePaintNode call. \
QQuickItem::updatePaintNode is very special call. During this call main thread is \
locked and it is safe to access main thread objects from paint thread.<br> <a \
href="http://doc-snapshot.qt-project.org/5.0/qquickitem.html#updatePaintNode">http://doc-snapshot.qt-project.org/5.0/qquickitem.html#updatePaintNode</a><br>
 <br>
So, the only thing that needs to be implemented for GTK is replacement for Qt paint \
node and sync point similar to QQuickItem::updatePaintNode .<br> <br>
Slava<br>
<br>
<div class="gmail_quote">On Fri, Nov 16, 2012 at 12:44 AM, Jae Hyun Park <span \
dir="ltr"> &lt;<a href="mailto:jae.park@company100.net" \
target="_blank">jae.park@company100.net</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> Hi, webkit folks.
<div><br>
</div>
<div>Our team is currently implementing threaded model of Coordinated Graphics in \
GTK&#43; port.</div> <div><a href="https://bugs.webkit.org/show_bug.cgi?id=100341" \
style="color:rgb(17,85,204)" \
target="_blank">https://bugs.webkit.org/show_bug.cgi?id=100341</a><br> </div>
<div>The purpose of sharing is to report our progress and make reviewers easier to \
understand the overview picture.<br> </div>
<div><br>
</div>
<div>We have updated the design document in the link below:</div>
<div><a href="https://docs.google.com/document/pub?id=1UoI1zk-6nTUFtz8i4evURM8aQIjkDRC8boO1zPdMMBg" \
style="color:rgb(17,85,204)" \
target="_blank">https://docs.google.com/document/pub?id=1UoI1zk-6nTUFtz8i4evURM8aQIjkDRC8boO1zPdMMBg</a></div>
 <div><br>
</div>
<div>Our prototype for this implementation is shared in the GitHub.</div>
<div><a href="https://github.com/ryumiel/webkit-experimental" \
style="color:rgb(17,85,204)" \
target="_blank">https://github.com/ryumiel/webkit-experimental</a></div> <div><br>
</div>
<div>The prototype is still in development, and only implemented up to step 1 in our \
design document.</div> <div><br>
</div>
<div>Any comments/concerns are appreciated.</div>
<div><br>
</div>
<div>Best regards,</div>
<div><span style="color: rgb(34, 34, 34); font-size: 13px; font-family: arial, \
sans-serif; ">Jae Hyun Park</span> <div \
style="color:rgb(34,34,34);font-size:13px;width:22px;font-family:arial,sans-serif;margin:2px \
0px 0px;padding:10px 0px;outline:none"> </div>
</div>
<br>
_______________________________________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="http://lists.webkit.org/mailman/listinfo/webkit-dev" \
target="_blank">http://lists.webkit.org/mailman/listinfo/webkit-dev</a><br> <br>
</blockquote>
</div>
<br>
</div>
</div>
</span>
</body>
</html>



_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic