summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouai Al-Khanji <louai.al-khanji@digia.com>2014-05-08 10:23:19 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-12 13:44:38 +0200
commit17dda3917d6d11e59c4f6df2c42bd3ce803eee6b (patch)
tree0b3060b77c199ae59f45ea4c35d7811aaa97f9e1
parent793b7e80083d77b0804a40b5732a8888c9ce5cd8 (diff)
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 <risto.avila@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-rw-r--r--src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp5
1 files changed, 4 insertions, 1 deletions
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<IDXGIDevice> dxgiDevice;
+ ComPtr<IDXGIDevice1> dxgiDevice;
ComPtr<IDXGIAdapter> 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);