我试图将我的程序从使用bitblt模型交换链(使用DXGI_SWAP_EFFECT_DISCARD创建的那些,大多数样本使用的默认值)更改为翻转模型交换链(DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL),因为它是更快。
问题是,app有一个菜单栏,D3D将坐标视为相对于窗口的客户区(就好像窗口没有菜单栏)。它不会在菜单栏的顶部绘制,而是菜单栏会阻碍在其下方绘制的任何内容。 DXGI_SWAP_EFFECT_DISCARD交换链不会发生这种情况。
另一个奇怪的事情是,当我调整窗口大小(在应用程序运行时手动)时,它有时会正确呈现,左上角坐标就在菜单栏之后开始。
平台信息:Direct3D 11.1,Windows 8.1,Visual Studio 2013(C ++)
任何想法有什么不对?