点阵列线的最有效方法定的动态CGPoint
S的NSMutableArray
,什么是借鉴array[0]
线array[1]
,array[1]
到array[2]
等最快和最有效的方法是什么?我应该用C或C++重写我的函数以获得更好的性能吗?目前,当阵列中有超过20个点时,我的帧速率显着下降。我正在使用cocos2d v2.0.0-rc2,目前我有:绘制从在cocos2d
-(void)draw
{
for (int i = 0; i < [points count]; i+=2)
{
CGPoint startFromArray = [[points objectAtIndex:i] CGPointValue];
CGPoint endFromArray = [[points objectAtIndex:i+1] CGPointValue];
ccDrawLine(startFromArray, endFromArray);
}
[super draw];
}
你尝试过使用纯C数组吗?顺便说一句,你如何将CGPoints存储在NSMutableArray中?这是你写的扩展名吗? – DrummerB
对安东尼:如果你去OpenGL的水平,你将能够通过一个简单的函数调用,传递一个C数组点。 to DrummerB,你可以使用CGPoints作为对象封装他们到一个NSValue实例:[NSValue valueWithCGPoint:myPoint] - 并检索值:[myValue CGPointValue] –
@DrummerB我还没有 - 是最好的课程行动?我使用'[NSValue valueWithCGPoint:(CGPoint)point]' – Anthony