xcb surfaces and expose events
Steven J Abner
pheonix.sja at att.net
Mon Jun 23 16:14:24 UTC 2025
On Sun, Jun 22 2025 at 12:40:19 PM +0000, Theo Veenker
<theo.veenker at beexy.nl> wrote:
> Under X you can use the drm library to wait for vblanks
Sorry to bother, but I appear to be real thick :(
I butchered your code and examined vlbtest to try to walk through and
understand what I appear to severely don't. With a window manager, the
verticalBlankHandler() mostly returns I am behind current time by
approx. -60342. On bare X my results are much more varied by approx.
14517 average ahead. I am not sure if I'm to create another poll loop
inside the handler, where one is used to get into handler initially.
Could you please glance at as simple a demo I could create for
isolation of resizing.
The code is set to run with/without a manager. A define flag will allow
print out to file. To terminate, if you should try, press any key.
Resizing occurs by click/drag of little square 'button'. I used
'pragmas' to mark sections according to functionality.
This simple demo causes severe flashing. It seems the more complex the
drawings, the less severe my initial code flashes, except when using
WMs which can then begin to flash.
Sample output with WM:
head 0: -62312 10220 0
head 0: -62008 10221 0
head 0: -61690 10222 0
head 0: -61328 10223 0
head 0: -60996 10224 0
head 0: -60666 10225 0
Sample output bare Xorg, (Linux):
head 0: 12511 1577 0
head 0: 12847 1578 0
head 0: 13179 1579 0
head 0: 14517 1580 0
head 0: 14874 1581 0
head 0: 16318 1582 0
head 0: 16516 1583 0
Again, thank you for previous assist. And if too much bother, no
worries! I may yet figure out :)
Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xxresize.c
Type: text/x-csrc
Size: 34132 bytes
Desc: not available
URL: <https://lists.cairographics.org/archives/cairo/attachments/20250623/533c3597/attachment-0001.c>
More information about the cairo
mailing list