From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0ssr-00067r-7c for qemu-devel@nongnu.org; Tue, 16 Dec 2014 09:13:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y0ssk-0004vH-7q for qemu-devel@nongnu.org; Tue, 16 Dec 2014 09:13:53 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60969) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0ssj-0004v7-W3 for qemu-devel@nongnu.org; Tue, 16 Dec 2014 09:13:46 -0500 From: Gerd Hoffmann Date: Tue, 16 Dec 2014 15:13:33 +0100 Message-Id: <1418739217-6561-3-git-send-email-kraxel@redhat.com> In-Reply-To: <1418739217-6561-1-git-send-email-kraxel@redhat.com> References: <1418739217-6561-1-git-send-email-kraxel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 2/6] spice: reduce refresh rate in native mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Gerd Hoffmann Now that cursor updates are out of the way qxl needs the refresh timer only when when running in vga mode, for dirty bitmap checking. In native qxl mode the guest will notify us, so we don't need to poll and can use the idle interval (one refresh wakeup every few seconds). Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Gerd Hoffmann --- hw/display/qxl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/display/qxl.c b/hw/display/qxl.c index 5151bac..61df477 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -1092,6 +1092,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d) spice_qxl_driver_unload(&d->ssd.qxl); #endif graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga); + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAU= LT); qemu_spice_create_host_primary(&d->ssd); d->mode =3D QXL_MODE_VGA; vga_dirty_log_start(&d->vga); @@ -1105,6 +1106,7 @@ static void qxl_exit_vga_mode(PCIQXLDevice *d) } trace_qxl_exit_vga_mode(d->id); graphic_console_set_hwops(d->ssd.dcl.con, &qxl_ops, d); + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_IDLE)= ; vga_dirty_log_stop(&d->vga); qxl_destroy_primary(d, QXL_SYNC); } @@ -1153,6 +1155,7 @@ static void qxl_soft_reset(PCIQXLDevice *d) qxl_enter_vga_mode(d); } else { d->mode =3D QXL_MODE_UNDEFINED; + update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_I= DLE); } } =20 --=20 1.8.3.1