Bug 79502 - [Qt][WK2] Get rid of the message queue in LayerTreeHostProxyQt
Summary: [Qt][WK2] Get rid of the message queue in LayerTreeHostProxyQt
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt
Depends on:
Blocks:
 
Reported: 2012-02-24 09:47 PST by Noam Rosenthal
Modified: 2012-02-27 06:05 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Noam Rosenthal 2012-02-24 09:47:08 PST
The message queue in LayerTreeHostProxyQt is there because messages have to be processed in the correct order, and some of them require an active GL context (mainly the flush message).
Instead of queuing everything until we're painting, we should be able to call something like makeContextCurrent() and handle those messages right away.
Comment 1 Viatcheslav Ostapenko 2012-02-24 10:25:41 PST
How it will work with paint thread without message queue?
I was told, that threaded painting will become mandatory for qt5 soon.
Comment 2 Noam Rosenthal 2012-02-24 13:01:30 PST
(In reply to comment #1)
> How it will work with paint thread without message queue?
> I was told, that threaded painting will become mandatory for qt5 soon.

Can we use locking instead of a message queue?
The message queue was originally there for the GL context, not for threading.
Comment 3 Jocelyn Turcotte 2012-02-27 04:43:47 PST
In the first implementation I did, the message queue was there for threading, I'm not sure for the LayerTreeHostProxy case.
Locking is not an option IMO if we eventually switch to threaded rendering.
Comment 4 Noam Rosenthal 2012-02-27 06:05:05 PST
r108951 Makes this not important, especially if we consider the comments about threaded rendering.
The original motivation was to reduce the broilerplate code, but that's much better now.