DXGI_SWAP_CHAIN_DESC 结构 (dxgi.h)
描述交换链。
语法
typedef struct DXGI_SWAP_CHAIN_DESC {
DXGI_MODE_DESC BufferDesc;
DXGI_SAMPLE_DESC SampleDesc;
DXGI_USAGE BufferUsage;
UINT BufferCount;
HWND OutputWindow;
BOOL Windowed;
DXGI_SWAP_EFFECT SwapEffect;
UINT Flags;
} DXGI_SWAP_CHAIN_DESC;
成员
BufferDesc
类型: DXGI_MODE_DESC
描述 backbuffer 显示模式 的DXGI_MODE_DESC 结构。
SampleDesc
类型: DXGI_SAMPLE_DESC
描述多采样参数 的DXGI_SAMPLE_DESC 结构。
BufferUsage
类型: DXGI_USAGE
描述后台缓冲区的表面使用情况和 CPU 访问选项的 DXGI_USAGE 枚举类型的成员。 后台缓冲区可用于着色器输入或呈现目标输出。
BufferCount
类型: UINT
一个 值,该值描述交换链中的缓冲区数。 调用 IDXGIFactory::CreateSwapChain 创建全屏交换链时,通常会在此值中包含前缓冲区。 有关交换链缓冲区的详细信息,请参阅备注。
OutputWindow
类型: HWND
输出窗口的 HWND 句柄。 此成员不得为 NULL。
Windowed
类型: BOOL
一个布尔值,指定输出是否处于窗口模式。 如果输出处于窗口模式,则为 TRUE;否则为 FALSE。
建议创建窗口交换链,并允许最终用户通过 IDXGISwapChain::SetFullscreenState 将交换链更改为全屏;也就是说,不要将此成员设置为 FALSE 以强制交换链全屏显示。 但是,如果将交换链创建为全屏,则还会通过 BufferDesc 成员为最终用户提供受支持的显示模式列表,因为使用不受支持的显示模式创建的交换链可能会导致屏幕变黑并阻止最终用户看到任何内容。
有关选择全屏开窗的诗句的详细信息,请参阅 IDXGIFactory::CreateSwapChain。
SwapEffect
类型: DXGI_SWAP_EFFECT
DXGI_SWAP_EFFECT枚举类型的成员,该类型描述在呈现图面后处理演示缓冲区内容的选项。
Flags
类型: UINT
描述交换链行为选项的 DXGI_SWAP_CHAIN_FLAG 枚举类型的成员。
备注
GetDesc 和 CreateSwapChain 方法使用此结构。
在全屏模式下,有一个专用的前面缓冲区;在窗口模式中,桌面是前缓冲区。
如果创建具有一个缓冲区的交换链,则指定 DXGI_SWAP_EFFECT_SEQUENTIAL 不会导致将单个缓冲区的内容与前缓冲区交换。
有关在全屏应用程序中翻转交换链缓冲区的性能信息,请参阅 全屏应用程序性能提示。
要求
标头 | dxgi.h |