C++ CreateCompatibleRenderTarget和CreateHwnRenderTarget之间有什么区别

C++ CreateCompatibleRenderTarget和CreateHwnRenderTarget之间有什么区别,c++,direct2d,C++,Direct2d,我只是对这种差异感到困惑,因为我们可以只制作一个与窗口大小相同的位图,然后将图像绘制到窗口上?区别在于名称:只是它创建了一个与当前显示设置兼容的渲染目标。相反,创建一个只渲染到窗口的RT。因此,它的设置方式与兼容目标不同 尽管这是关于XNA的,但那里的大部分原始信息都与DirectX无关,只是讨论了渲染目标的概念。谢谢,这是有意义的。但是,当您说“创建渲染目标”时,这意味着什么?创建渲染目标意味着分配具有渲染目标属性且通常位于内存空间保留部分的对象,以便将其移动到GPU。DirectX(COM

我只是对这种差异感到困惑,因为我们可以只制作一个与窗口大小相同的位图,然后将图像绘制到窗口上?

区别在于名称:只是它创建了一个与当前显示设置兼容的渲染目标。相反,创建一个只渲染到窗口的RT。因此,它的设置方式与兼容目标不同


尽管这是关于XNA的,但那里的大部分原始信息都与DirectX无关,只是讨论了渲染目标的概念。

谢谢,这是有意义的。但是,当您说“创建渲染目标”时,这意味着什么?创建渲染目标意味着分配具有渲染目标属性且通常位于内存空间保留部分的对象,以便将其移动到GPU。DirectX(COM)分配与您每天的“新”分配相比是独一无二的。渲染目标只是表示像素数据的数据,可以推送到设备上。查看我的更新。