在Cocoa中绘制一堆(~200)彩色矩形的最佳方法是什么?

时间:2009-04-17 23:19:07

标签: cocoa rectangles

我目前的计划是通过继承NSView来绘制矩形,但这对于我正在尝试做的事情来说似乎是一种非常低效的方式,即绘制一堆固定的,非重叠的矩形,这些矩形会改变颜色一会儿。有没有更好的办法?感谢。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用CALayer,如下所示:http://theocacao.com/document.page/555

答案 1 :(得分:1)

如果它们的颜色或图像完全相同,您可能会发现单个CGLayer效率更高。该API的目的是多次绘制相同的东西。

另一方面,如果矩形独立移动或者上面有不同的颜色或图像,Core Animation绝对是最佳选择。

答案 2 :(得分:0)

核心动画对于游戏来说是一项很棒的技术,但是如果你想暂时坚持使用NSView,你可以创建一个类似于NSCell的类,游戏板视图用它来实现定位和绘图。这与许多Cocoa控件类的工作方式类似,后者使用单个单元格(具有不同的值)在视图中绘制多个项目。

请记住,使用单个NSView对象可能非常快,但无论速度如何,此策略都允许您以有意义的方式分离逻辑。

相关问题