[Spice-devel] [PATCH 07/12] qxl-wddm-dod: Set VSync indication period to 200ms
Frediano Ziglio
fziglio at redhat.com
Tue Mar 21 12:23:55 UTC 2017
>
> Default indication period (13-17ms) from the driver to OS
> increases total CPU consumption during presentation operations.
> Reducing indication frequency to 200 ms reduces cost of this
> feature. Till now we do not see any negative impact of this.
>
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> ---
> qxldod/QxlDod.cpp | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
> index 7750467..bb9b227 100755
> --- a/qxldod/QxlDod.cpp
> +++ b/qxldod/QxlDod.cpp
> @@ -19,6 +19,7 @@
> (QXL_INTERRUPT_CURSOR) | \
> (QXL_INTERRUPT_IO_CMD))
>
> +#define VSYNC_PERIOD 200 // ms, use 0 for auto
> #define VSYNC_RATE 75
>
> BOOLEAN g_bSupportVSync;
> @@ -5043,8 +5044,9 @@ VOID QxlDod::EnableVsync(BOOLEAN bEnable)
> else
> {
> LARGE_INTEGER li;
> - LONG period = 1000 / VSYNC_RATE;
> - DbgPrint(TRACE_LEVEL_WARNING, ("Enabled VSync(fired %d)\n",
> m_VsyncFiredCounter));
> + LONG period = VSYNC_PERIOD;
> + if (!period) period = 1000 / VSYNC_RATE;
> + DbgPrint(TRACE_LEVEL_WARNING, ("Enabled VSync %d ms(fired
> %d)\n", period, m_VsyncFiredCounter));
> li.QuadPart = -10000000 / VSYNC_RATE;
> KeSetTimerEx(&m_VsyncTimer, li, period, &m_VsyncTimerDpc);
> }
Acked-by: Frediano Ziglio <fziglio at redhat.com>
Frediano
More information about the Spice-devel
mailing list