【问题标题】:cocos2d - is it faster to draw a primitive shape (e.g. ccDrawCircle, drawDot) or draw a sprite?cocos2d - 绘制原始形状(例如 ccDrawCircle、drawDot)或绘制精灵更快吗?
【发布时间】:2014-05-10 18:02:23
【问题描述】:

我必须绘制一个数字精灵和一个非常大的圆圈,我想知道使用ccDrawCircle 绘制那个圆圈是否更好,或者制作一个圆形精灵并将其绘制为常规精灵?就内存而言,我会用掉很多东西来存储一个大圆圈。但是将所有绘图作为一批来更快吗?如果我必须将它分成两批,一批用于圆形,另一批用于其他精灵怎么办?是绘制原始形状还是绘制精灵更快?

【问题讨论】:

    标签: ios cocos2d-iphone rendering


    【解决方案1】:

    ccDraw* 方法不是批量绘制的并且用于调试,它们不是特别有效。

    CCDrawNode 是一个更好的选择,因为它可以批量绘制图元,但它不允许删除图元而不重新创建它们。

    批量精灵通常是最好的选择。这对 fps 的影响程度取决于您的用例和目标设备。问题是它们不能很好地“缩放”,因此最好将每个所需的形状大小作为单独的图像。另一方面,您可以对灰度图像进行着色(着色)以获得更多的颜色变化,而不必将具有不同颜色的每个形状作为单独的图像。

    【讨论】:

    • 我认为 CCDrawNode 对我来说可能是最好的选择 - 我是否只需将形状添加到与我的其他精灵相同的批处理节点,或者我是否需要一个新的批处理节点仅用于基元?
    • 没有批处理节点,它们用于精灵。 ccdrawnode 是自己的batchnode
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多