From 17dda3917d6d11e59c4f6df2c42bd3ce803eee6b Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Thu, 8 May 2014 10:23:19 +0300 Subject: Direct2D QPA: Never queue more than one frame Microsoft recommends setting the maximum frame latency to 1: http://blogs.windows.com/windows/b/appbuilder/archive/2013/12/18/optimizing-directx-apps-for-low-latency-input-and-longer-battery-life.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx Apparently it slightly reduces power consumption and it also slightly increases performance. So let's set it. Change-Id: I8a540f1e54e83d6dc13f25564e10b751e202ce66 Reviewed-by: Risto Avila Reviewed-by: Friedemann Kleint --- src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp') diff --git a/src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp b/src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp index 1ea90c4f91..d757789935 100644 --- a/src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp +++ b/src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp @@ -90,7 +90,7 @@ public: return false; } - ComPtr dxgiDevice; + ComPtr dxgiDevice; ComPtr dxgiAdapter; hr = d3dDevice.As(&dxgiDevice); @@ -99,6 +99,9 @@ public: return false; } + // Ensure that DXGI doesn't queue more than one frame at a time. + dxgiDevice->SetMaximumFrameLatency(1); + hr = dxgiDevice->GetAdapter(&dxgiAdapter); if (FAILED(hr)) { qWarning("%s: Failed to probe DXGI Device for parent DXGI Adapter: %#x", __FUNCTION__, hr); -- cgit v1.2.3