[Xcb] Frame synchronization

VaL valkov at ya.ru
Wed Feb 27 08:56:28 UTC 2019


Hi Sam, thanks for your help.


20.02.2019, 14:04, "Sam Varshavchik" <mrsam at courier-mta.com>:
>
>>  I've tried to stop updating the window if a resizing is started (received
>>  sync counter), and continue the updates when _no_ new sync request counters
>>  are received within 30ms (configurable).
>
> I don't think that's necessary. _NET_WM_FRAME_DRAWN contains a counter that
> specifies the exact counter update it's in response to. If it's always
> checked, and ignored unless it matches your last counter update, this logic
> is unambiguous. Upon receipt of a _NET_WM_SYNC_REQUEST you can do whatever
> you want to do, as long as you end up setting the counter to acknowledge the
> requested value in _NET_WM_SYNC_REQUEST. Whether you actually drew a frame,
> or wait to see if another _NET_WM_SYNC_REQUEST arrives quickly, that's your
> business, but if you actually decide to draw a frame, you have to wait until
> the new frame's counter is acked by a _NET_WM_FRAME_DRAWN, ignoring any
> others referencing previous frames.
>

Unfortunately, as I can see, my current WM, xfwm does not support _NET_WM_FRAME_DRAWN.
That means not all WM supports _NET_WM_FRAME_DRAWN, but supports NET_WM_SYNC_REQUEST_COUNTER

which would point that resizing is going to be not so easy to be smooth.
But will try to find WM that can handle frame drawn events, and check if it would help.

-- 
    VaL



More information about the Xcb mailing list