У меня есть игровое приложение, которое позволяет переходить в полноэкранный режим и обратно в окно при нажатии Alt-Enter.Однако, когда он переходит в полноэкранный режим, я получаю следующее предупреждение от DirectX:
DXGI Warning: IDXGISwapChain::Present: Fullscreen presentation inefficiencies incurred due to application not using IDXGISwapChain::ResizeBuffers appropriately, specifying a DXGI_MODE_DESC not available in IDXGIOutput::GetDisplayModeList, or not using DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH.
Я уже исключил две другие возможности при тестировании, поэтому я знаю только оставшиеся причиныдля предупреждения всплывают либо IDXGISwapChain :: ResizeBuffers не используется правильно, либо Windows просто прослушивается.Поскольку я не могу отладить 2-ю возможность, я остаюсь с проблемой ResizeBuffers.Чтобы отладить это, я хочу посмотреть, что происходит при нажатии Alt-Enter при переходе от оконного к полноэкранному режиму.Однако приложение, похоже, не вызывает мой метод ResizeDXGIBuffers;на самом деле, кажется, что Alt-Enter где-то встроен в Windows или DirectX, и я не знаю, как найти цепочку вызовов функций, которые срабатывают при нажатии.РЕДАКТИРОВАТЬ: Когда мой метод помещается в обработчик WM_ACTIVATEAPP, он вызывается, но я не это имел в виду.Если я возьму его из этого обработчика сообщений, окно STILL перейдет в полноэкранный режим, хотя я не вызываю никаких функций, чтобы сделать окно полноэкранным самостоятельно.Поэтому Alt + Enter должен автоматически вызывать какую-то внутреннюю функцию для этого.
Итак, это мой вопрос: кто-нибудь знает, какая функция вызывается окнами и / или DirectX 11 при нажатии Alt-Enter?
РЕДАКТИРОВАТЬ: Как говорят теги для этого вопроса, я использую DirectX 11 на компьютере с Windows.В частности, Windows 7 64-разрядная.
РЕДАКТИРОВАТЬ 2: Теперь я полностью ем нажатие клавиши Alt + Enter и вручную сохраняю состояние нажатия Alt + Enter, так что я точно знаю, что вызывается только мой код.Однако предупреждение, о котором я говорил выше, сохраняется.Я также следую рекомендациям MSDN , поэтому не знаю, куда идти дальше.