Direct2D 保存渲染结果
Direct2D Save rendering result
我要渲染几组(图层)几何体。例如,第一个和第三个 groups/layers 是静态的(渲染应该只执行一次),但是第二个 group/layer 应该渲染几次。有没有办法保存第一层和第三层的渲染结果,以便只渲染第二组然后合并结果?我见过ID2D1Layer接口,但显然它不能保存渲染结果。请问如何避免第一层和第三层不必要的渲染?
Is there a way to save the rendering result for first and third layer in order to render only second group and then combine results?
是的,有。您可以渲染(缓存)位图中的静态几何图形 (ID2D1Bitmap/1)。然后将位图渲染到最终渲染目标而不是几何图形。通过这种方式,您可以用内存换取速度。
D2D layers 不符合您的假设。它们用于设置渲染器(设备上下文)的(可堆叠)设置。设置包括:剪辑矩形、不透明度、任意画笔、任意矩阵变换等。
我要渲染几组(图层)几何体。例如,第一个和第三个 groups/layers 是静态的(渲染应该只执行一次),但是第二个 group/layer 应该渲染几次。有没有办法保存第一层和第三层的渲染结果,以便只渲染第二组然后合并结果?我见过ID2D1Layer接口,但显然它不能保存渲染结果。请问如何避免第一层和第三层不必要的渲染?
Is there a way to save the rendering result for first and third layer in order to render only second group and then combine results?
是的,有。您可以渲染(缓存)位图中的静态几何图形 (ID2D1Bitmap/1)。然后将位图渲染到最终渲染目标而不是几何图形。通过这种方式,您可以用内存换取速度。
D2D layers 不符合您的假设。它们用于设置渲染器(设备上下文)的(可堆叠)设置。设置包括:剪辑矩形、不透明度、任意画笔、任意矩阵变换等。