0

我的 PC 上有两个独立的视频适配器:GTX 1060 和 RTX 2080 ti。我想为我的 DXUT 应用程序使用第二个。我找到了命令行参数-adapter#来指定它,但是,当我使用-adapter1 (1 是 RTX2080 的适配器序号)选项运行时,我的程序崩溃了。我开始调试并发现以下问题:EnumOutputs仅返回DXGI_ERROR_NOT_FOUND

对于 GTX1060,第一个EnumOutputs调用返回正确的输出。

代码部分:

HRESULT CD3D11Enumeration::EnumerateOutputs( _In_ CD3D11EnumAdapterInfo* pAdapterInfo )
{
    HRESULT hr;
    IDXGIOutput* pOutput;

    for( int iOutput = 0; ; ++iOutput )
    {
        pOutput = nullptr;
        //next line returns at once DXGI_ERROR_NOT_FOUND for RTX2080
        hr = pAdapterInfo->m_pAdapter->EnumOutputs( iOutput, &pOutput ); 
        if( DXGI_ERROR_NOT_FOUND == hr )
        {
            return S_OK;
        }
        ...
}
        hr = EnumerateOutputs( pAdapterInfo );
        if( FAILED( hr ) || pAdapterInfo->outputInfoList.empty() ) //failed here cause second condition is true
        {
            delete pAdapterInfo;
            continue;
        }

谁知道如何解决这个问题?

所有驱动程序都是最新的。

PS 我也尝试通过 Windows 和 GeForce 软件指定显卡,但它似乎只适用于带有集成/分立卡的笔记本电脑机箱。

4

1 回答 1

1

哦,我的上帝.. 问题只是 GTX1060 连接到我的显示器。

我的导师向我解释说,在这种情况下不可能渲染帧缓冲区。

于 2021-03-12T20:41:29.863 回答