0

我看到了这个问题的答案:我需要重新创建 Direct2D 可共享资源吗?,但是我有些不明白:共享资源A是RT1创建的,RT2使用的,如果RT2的EndDraw返回D2DERR_RECREATE_TARGET,A和RT1怎么办?</p>

4

1 回答 1

1

Direct2D 共享资源是由同一硬件设备分配并存储在同一硬件设备上的资源。此类资源由共享相同底层设备的渲染目标创建,并使用相同的 D2D1_RENDER_TARGET_USAGE 标志创建。

D2DERR_RECREATE_TARGET 错误代码表示底层设备不再可用。任何 Direct3D、DXGI、Direct2D 设备、设备上下文、交换链、渲染目标、位图等都需要释放和重新创建。

在您的示例中,哪个渲染目标返回错误并不重要。收到后,必须释放两个渲染目标以及它们可能创建的任何共享资源。

于 2013-01-25T16:02:34.183 回答