Я пытаюсь изменить свою программу с использования цепочки подкачки модели bitblt (созданной с помощью DXGI_SWAP_EFFECT_DISCARD, по умолчанию используемой в большинстве примеров) на цепочку подкачки модели с переворотом (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL), потому что она намного быстрее.
Проблема в том, что в приложении есть строка меню, а D3D обрабатывает координаты относительно клиентской области окна (как если бы у окна не было строки меню). Он не рисует сверху строки меню, а, напротив, строка меню препятствует тому, что нарисовано под ним. Этого не происходит с цепочкой обмена DXGI_SWAP_EFFECT_DISCARD.
Еще одна странная вещь: когда я изменяю размер окна (вручную, когда приложение запущено), оно иногда отображается правильно, а верхняя левая координата начинается сразу после строки меню.
Информация о платформе: Direct3D 11.1, Windows 8.1, Visual Studio 2013 (C ++)
Есть идеи что не так?
Задача ещё не решена.
Других решений пока нет …