terminal/src/renderer/dx
greg904 a921bbfebb
Reduce latency with DXGI 1.3 GetFrameLatencyWaitableObject (#6435)
This pull request reduces input lag, especially with selection, by using
`IDXGISwapChain2::GetFrameLatencyWaitableObject`.

This is based on the [DXGI 1.3 documentation].

Excerpt from the [DXGI 1.3 improvement list]:
> The following functionality has been added in Microsoft DirectX
Graphics Infrastructure (DXGI) 1.3, which is included starting in
Windows 8.1.

Before, during rendering:
1. render frame
2. call `Present` on swap chain:
   2.a. blocks until it can present
   2.b. meanwhile, selection/text in terminal might have changed, but
     we're still using the frame that we rendered before blocking
   2.c. presents

After, during rendering:
1. block until we can present
2. render frame with latest data
3. call `Present` on swap chain:
  3.a. present without blocking

[DXGI 1.3 documentation]: https://docs.microsoft.com/en-us/windows/uwp/gaming/reduce-latency-with-dxgi-1-3-swap-chains
[DXGI 1.3 improvement list]: https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/dxgi-1-3-improvements:
2020-06-10 22:35:14 +00:00
..
lib Scale box drawing glyphs to fit cells for visual bliss (#5743) 2020-05-08 14:09:32 -07:00
ut_dx Import build fix changes from OS for sync to a34a957cf 2020-03-16 18:26:48 +00:00
BoxDrawingEffect.cpp Scale box drawing glyphs to fit cells for visual bliss (#5743) 2020-05-08 14:09:32 -07:00
BoxDrawingEffect.h Scale box drawing glyphs to fit cells for visual bliss (#5743) 2020-05-08 14:09:32 -07:00
CustomTextLayout.cpp Skip glyph shaping analysis when the entire text is simple (#6206) 2020-06-01 18:36:28 +00:00
CustomTextLayout.h Skip glyph shaping analysis when the entire text is simple (#6206) 2020-06-01 18:36:28 +00:00
CustomTextRenderer.cpp Draw the cursor underneath text, and above the background (#6337) 2020-06-04 12:58:22 +00:00
CustomTextRenderer.h Draw the cursor underneath text, and above the background (#6337) 2020-06-04 12:58:22 +00:00
dirs Import build fix changes from OS for sync to a34a957cf 2020-03-16 18:26:48 +00:00
DxRenderer.cpp Reduce latency with DXGI 1.3 GetFrameLatencyWaitableObject (#6435) 2020-06-10 22:35:14 +00:00
DxRenderer.hpp Reduce latency with DXGI 1.3 GetFrameLatencyWaitableObject (#6435) 2020-06-10 22:35:14 +00:00
IBoxDrawingEffect.idl Scale box drawing glyphs to fit cells for visual bliss (#5743) 2020-05-08 14:09:32 -07:00
precomp.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
precomp.h Render row-by-row instead of invalidating entire screen (#5185) 2020-04-13 20:09:02 +00:00
ScreenPixelShader.h Scale retro terminal scan lines (#4716) 2020-02-26 00:08:45 +00:00
ScreenVertexShader.h Merged PR 4182306: [Git2Git] Merged PR 4182266: conhost: don't use D3DCompiler on inside-windows builds (and delete the shaders) 2020-01-23 00:42:56 +00:00
sources.inc Merged PR 4182306: [Git2Git] Merged PR 4182266: conhost: don't use D3DCompiler on inside-windows builds (and delete the shaders) 2020-01-23 00:42:56 +00:00