Re: [Qemu-devel] [PATCH] gtk: sync guest display updates to host display refresh

2018-11-25 Thread Chen Zhang via Qemu-devel
Update refresh interval upon frame tick; Add callback of window state events to adjust refresh rate during iconified. The callback handle is saved in struct VirtualConsole for its removal when the window is iconified. Signed-off-by: Chen Zhang --- include/ui/gtk.h | 1 + ui/gtk.c | 48

Re: [Qemu-devel] [PATCH] gtk: sync guest display updates to host display refresh

2018-11-14 Thread Chen Zhang via Qemu-devel
Additionally, the aforementioned patch performs OK for non-vfio OpenGL enabled GTK displays, and fails DMA Buf iGVT-g display only, so far as I could tell. Perhaps a change like the following is better? static gboolean gd_frame_tick(GtkWidget *widget, GdkFrameCloc

Re: [Qemu-devel] [PATCH] gtk: sync guest display updates to host display refresh

2018-11-13 Thread Chen Zhang via Qemu-devel
Hi, I have briefly tested this patch. Unfortunately, it apparently caused deteriorated performance on a previously working Windows 10 guest with DMA Buf. The patched qemu not only clogged up graphics drawing, but also obstructed the guest OS. The boot time and latency for guest operations (e.g.

[Qemu-devel] [PATCH] gtk: sync guest display updates to host display refresh

2018-11-13 Thread Gerd Hoffmann
Reduce console refresh timer to idle refresh rate. Register a frame tick callback (called by gtk on each display frame) and use that to kick display updates instead. That should sync qemu refresh rate to display refresh rate. It'll also stop updating the qemu display in case the qemu is not visi