[Spice-devel] [PATCH spice-protocol 02/12] seamless-mode: Add support for single window changes
Frediano Ziglio
fziglio at redhat.com
Wed Aug 9 07:51:05 UTC 2017
>
> Agent can now send just the coordinates of the window that has changed.
> In the case window has been hidden or closed, width of the window must be
> set to 0.
>
> This reduces CPU load because the agent doesn't have to cycle through all the
> windows and decide which to send. It mainly concerns Windows agent as there
> are often hundreds of windows and majority of them is not visible to the
> user.
So basically you can trace single windows events and send the update
instead of enumerating all windows in the system every time, right?
Potentially the old way could be used to send not rectangular windows
splitting the windows in different rectangles while with this change
is harder to achieve this.
> ---
> spice/vd_agent.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/spice/vd_agent.h b/spice/vd_agent.h
> index 235f152..056817a 100644
> --- a/spice/vd_agent.h
> +++ b/spice/vd_agent.h
> @@ -93,6 +93,7 @@ enum {
> VD_AGENT_AUDIO_VOLUME_SYNC,
> VD_AGENT_SEAMLESS_MODE,
> VD_AGENT_SEAMLESS_MODE_LIST,
> + VD_AGENT_SEAMLESS_MODE_CHANGE,
> VD_AGENT_END_MESSAGE,
> };
>
> @@ -258,6 +259,7 @@ typedef struct SPICE_ATTR_PACKED
> VDAgentSeamlessModeWindow {
> int32_t y;
> uint32_t w;
> uint32_t h;
> + uint64_t id;
> } VDAgentSeamlessModeWindow;
>
This changes also mode_list message. Not a big deal as 01/12 is not
merged too. But how is the id used in mode_list?
I suppose id is xid on Xwindows and the handle in Windows.
> typedef struct SPICE_ATTR_PACKED VDAgentSeamlessModeList {
Frediano
More information about the Spice-devel
mailing list