[Wayland1.5]Question about wl_shell_get_shell_surface

Pekka Paalanen ppaalanen at gmail.com
Fri Feb 27 00:36:30 PST 2015


On Fri, 27 Feb 2015 08:11:58 +0000
Yang Andy <williamyang13 at hotmail.com> wrote:

> Hi Mr.Manuel,Mr.Pekka,
> 
> Thank you 
> for your reply.
>  
> I have further 
> investigated my log and find that IPC/communication bewteen Wayland-client(application) and wayland-server(weston) 
> consume 800ms
>  
> wayland-client/application call  wl_shell_get_shell_surface,it takes 800ms until reference 
> methol(shell_get_shell_surface) be called on the wayland-server 
> side.
>  
> In my 
> opinion,Wayland-client just use socket to 
> communicate with wayland-server,why does it consume 
> 800ms?

Maybe your client does call wl_shell_get_shell_surface(), but it does
not flush the message to the socket. See wl_display_flush().
http://wayland.freedesktop.org/docs/html/apb.html#Client-classwl__display_1a8463b6e5f4cf9a2a3ad2d543aedcf429

Also see wl_display_prepare_read() how to properly do the client side
event loop.
http://wayland.freedesktop.org/docs/html/apb.html#Client-classwl__display_1a040dca18775e3177883f06bd6fdf395f

Or, maybe your compositor does not wake up properly when there is
incoming data in a client socket. A badly intergrated event loop might
do that if you don't use wl_display_run().


Thanks,
pq


More information about the wayland-devel mailing list