透明NSWindow上的2D绘图

时间:2012-02-24 08:46:29

标签: cocoa opengl drawing quartz-graphics objective-c-2.0

我有一个透明窗口,想要在其中进行2D绘图。我正在考虑两种选择:

  1. Quartz 2D
  2. 的OpenGL
  3. 由于我根本没有Quartz 2D的经验,我想知道:它会给我更好的表现吗?我的场景是由线条,圆圈和正方形组成的。

1 个答案:

答案 0 :(得分:2)

这取决于你的场景是否是动态的,我会使用具有更好性能的openGL。在编写代码方面,使用Quartz 2D可以更容易。但是如果你需要花费很多时间来刷新你的窗户,那将会花费你。

另一种选择是通过CALayer使用它们。事实上,这些图层使用openGL来更快地渲染。因此,您可以使用Quartz 2D(CAShapeLayer)绘制内部,然后操纵图层以动态更改场景。请记住,如果你升级你的图层,你会有文物。因此,使用此技术将为您提供最大图层大小。

我希望我已经足够清楚并乐于助人。