Недавно я обновил приложение DirectX 11 (C++) для поддержки двух мониторов с поддержкой двух окон. С тех пор, когда я пытаюсь отлаживать любой пиксель в PIX отладчике, я получаю следующее сообщение об ошибке:PIX DirectX 11 Ошибка отладки пикселя
A call that previously succeeded failed during playback:
EID: 1375
Call: IDXGIFactory::CreateSwapChain()
HRESULT: DXGI_ERROR_INVALID_CALL
For more information click 'Help'.
Я больше не использую D3D11CreateDeviceAndSwapChain, но вместо того, чтобы с помощью D3D11CreateDevice, а затем CreateSwapChain создавать отдельный своп цепь для каждого из двух окон (по одному на монитор). Я использовал образец SDK MultiMon10 в качестве ссылки при внесении изменений, однако я все еще могу отлаживать пиксели без ошибок при запуске проекта образца MultiMon10 через PIX. Таким образом, это не просто вопрос «CreateSwapChain», не являющийся PIX-дружественным.
Любые идеи, что может вызвать эту ошибку? Отладка пикселей и переход по шейдерам помогли мне в прошлом, и я не хотел бы терять эту способность.
Вы когда-нибудь находили решение? У меня такая же проблема. –
Извините, я так и не нашел решение. С тех пор я использовал nVidia's NSight для графической отладки. Это хорошо, но вам нужно использовать два компьютера - один для запуска отладчика, а другой для запуска программного обеспечения. Это связано с тем, что он позволяет отлаживать код в реальном времени на вашем графическом процессоре, поэтому он останавливает GPU (и, следовательно, дисплей) компьютера, на котором запущено программное обеспечение. –