我有一个使用 ID2D1Factory::CreateDxgiSurfaceRenderTarget 创建的 Direct2D 渲染目标。当我收到 WM_SIZE 消息时,我尝试通过调用 IDXGISwapChain::ResizeBuffers 来调整相应交换链的大小,但它因 DXGI_ERROR_INVALID_CALL (0x887a0001) 而失败。我相信这是因为 the ResizeBuffers documentation 陈述了以下内容:
我假设由 ID2D1RenderTarget::CreateDxgiSurfaceRenderTarget 创建的 Direct2D 渲染目标就是这样一种间接引用。但是我无法想象每次调整窗口大小时都应该重新创建渲染目标,那我该怎么办?
最佳答案
没关系,显然每次调整窗口大小时都需要重新创建渲染目标,如 here 所解释的那样。
关于c++ - 调整绑定(bind)到 Direct2D 渲染目标的 DXGI 交换链的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30121585/