我创建了一个Direct3D 11应用程序,允许调整窗口大小。我正在绘制2D内容,我希望它保持相同的大小,无论我对窗口做什么,所以例如从右下角收缩窗口应该隐藏右侧或底部的任何东西,但是左上角的任何东西都是静止的。
然而,虽然我正在调整后台缓冲区的大小以响应WM_SIZE
DXGI_SWAP_CHAIN_DESC1
的文档中所描述的Scaling
,但我仍然看到窗口内容在调整大小之前会拉伸或挤压一会儿本身。当我将窗口拖动到新的大小时,这会使窗口内容看起来大小上下波动。
答案 0 :(得分:1)
事实证明,在创建交换链时,我将DXGI_SCALING_STRETCH
的{{1}}字段保留为零初始化,结果为DXGI_SCALING_NONE
。切换到Dec Hex
55 37
56 38
98 62
...
解决了问题(并减少了我需要调整后缓冲区大小的频率)。