diff options
author | Louai Al-Khanji <louai.al-khanji@digia.com> | 2014-05-08 10:23:19 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-12 13:44:38 +0200 |
commit | 17dda3917d6d11e59c4f6df2c42bd3ce803eee6b (patch) | |
tree | 0b3060b77c199ae59f45ea4c35d7811aaa97f9e1 /src/plugins/platforms/direct2d | |
parent | 793b7e80083d77b0804a40b5732a8888c9ce5cd8 (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>
Diffstat (limited to 'src/plugins/platforms/direct2d')
-rw-r--r-- | src/plugins/platforms/direct2d/qwindowsdirect2dcontext.cpp | 5 |
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); |