如何:获取适配器显示模式

本主题演示如何使用 Microsoft DirectX 图形基础结构 (DXGI) 获取与适配器关联的有效显示模式。 DirectX 10 和 11 可以使用 DXGI 获取有效的显示模式。 了解有效的显示模式可确保应用程序能够正确选择有效的全屏模式。

获取适配器显示模式

  1. 创建 IDXGIFactory 对象,并使用它来枚举可用的适配器。 有关详细信息,请参阅 如何:枚举适配器

  2. 调用 IDXGIAdapter::EnumOutputs 以枚举每个适配器的输出。

    IDXGIOutput* pOutput = NULL; 
    HRESULT hr;
    
    hr = pAdapter->EnumOutputs(0,&pOutput);
    
  3. 调用 IDXGIOutput::GetDisplayModeList 以检索 DXGI_MODE_DESC 结构和数组中的元素数的数组。 每个 DXGI_MODE_DESC 结构表示输出的有效显示模式。

    UINT numModes = 0;
    DXGI_MODE_DESC* displayModes = NULL;
    DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
    
        // Get the number of elements
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, NULL);
    
        displayModes = new DXGI_MODE_DESC[numModes]; 
    
        // Get the list
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, displayModes);
    

设备

如何使用 Direct3D 11