Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何优化石英2d?_Iphone_Objective C_Optimization - Fatal编程技术网

Iphone 如何优化石英2d?

Iphone 如何优化石英2d?,iphone,objective-c,optimization,Iphone,Objective C,Optimization,我有一段代码,基本上是: for(int i=0;i<aInt;i++){ CGPoint points[2] = {CGPointMake(i,0),CGPointMake(i,bArray[i])}; CGContextStrokeLineSegments(myContext, points, 2); } 对于(int i=0;i是的,创建单个大数组肯定会比抚摸每个线段快。我还想象创建一个大数组会让它更快。对CGContextStrok

我有一段代码,基本上是:

    for(int i=0;i<aInt;i++){
        CGPoint points[2] = {CGPointMake(i,0),CGPointMake(i,bArray[i])};
        CGContextStrokeLineSegments(myContext, points, 2);
    }

对于(int i=0;i是的,创建单个大数组肯定会比抚摸每个线段快。

我还想象创建一个大数组会让它更快。对
CGContextStrokeLineSegments的调用肯定会更少

CGPoint *points = (CGPoint*)malloc(sizeof(CGPoint)*aInt*2);

for(int i=0;i<aInt;i++){
    points[i*2] = CGPointMake(i,0);
    points[i*2+1] = CGPointMake(i,bArray[i]));
}

CGContextStrokeLineSegments(myContext, points, aInt*2);

free(points);
CGPoint*points=(CGPoint*)malloc(sizeof(CGPoint)*aInt*2);

对于(int i=0;iThanks)。使用类似于此代码的代码将循环时间缩短了75%。我仍然希望它更快,但这是一个很大的改进,所以我现在就接受它。