點陣列線的最有效方法定的動態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