[Webkit-unassigned] [Bug 51262] WebPageProxy should delete its backing store after not painting for a while

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Feb 28 10:45:09 PST 2011


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





--- Comment #41 from Adam Roben (:aroben) <aroben at apple.com>  2011-02-28 10:45:09 PST ---
(In reply to comment #9)
> 2. After throwing away a backing store, record the time interval required for the next paint.

It's a little tricky to define "the time interval required for the next paint". Here's the general sequence (with "<time passes>" used to break up blocks of synchronous execution): 

A) UI process deallocates backing store
B) UI process sends a message to the web process telling it this
<time passes>
C) CoreIPC sends the message from the UI process to the web process
<time passes>
D) Web process receives the message
E) Web process records the backing store was thrown away
<time passes>
F) UI process is asked to paint, sends message to the web process telling it to do a full backing store update
<time passes>
G) CoreIPC sends the message from the UI process to the web process
<time passes>
H) Web process receives the message
I) Web process does a full paint
J) Web process sends a message to the UI process with the updated bits
<time passes>
K) CoreIPC sends the message from the web process to the UI process
<time passes>
L) UI process receives the message
M) UI process allocates a new backing store
N) UI process blits the updated bits into the new backing store
O) UI process blits the backing store into the native view

However, if the web process decides it needs to paint after the backing store has been thrown away but before the UI process decides *it* needs to paint, steps F, G, and H would go away and these new steps would be added between N and O:

N1) UI process invalidates the native view
<time passes>
N2) OS asks the native view to paint

So.....it's complicated.

-- 
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