我在调用
D2D1_LAYER_PARAMETERS
进行裁剪时使用 PushLayer
,当裁剪不是没有半径的矩形时,我使用 ID2D1Geometry* geometricMask
结构的成员,方法是创建一个新成员,用路径元素填充它,然后将其传递给PushLayer
通话后我释放它。渲染目标是否会复制路径,或者只要图层处于活动状态我就必须保留它?从我已经完成的测试来看,它目前工作正常,没有明显的问题。我怀疑是因为渲染目标采用可变指针而不是常量指针。
另一个问题:当剪辑层是一个没有半径的矩形时,我不创建几何路径,而是使用
D2D1_RECT_F contentBounds
仅代表剪辑区域。这够了吗?这会带来更好的性能吗?
一般来说,我是 direct2d 和 2d 编程的新手!