Direct2D保存渲染结果

Direct2D Save rendering result

本文关键字:结果 保存 Direct2D      更新时间:2023-10-16

我有几个几何图形组(层)要渲染。例如,第一组和第三组/层是静态的(渲染应该只执行一次),但第二组/层应该渲染几次。有没有办法保存第一层和第三层的渲染结果,以便只渲染第二组,然后合并结果?我看到了ID2D1Layer接口,但显然它无法保存渲染结果。你能建议如何避免第一层和第三层不必要的渲染吗?

有没有办法保存第一层和第三层的渲染结果,以便只渲染第二组,然后合并结果?

是的。您可以在位图中渲染(缓存)静态几何图形(ID2D1Bitmap/1)。然后将位图渲染到最终渲染目标,而不是几何体。通过这种方式,你可以用记忆换取速度。

D2D层不会像你想象的那样。它们用于为渲染器(设备上下文)设置(可堆叠)设置。设置包括:剪辑矩形,不透明度,任意笔刷,任意矩阵变换和其他。