gpt4 book ai didi

iphone - 如何优化quartz 2d?

转载 作者:行者123 更新时间:2023-12-03 20:59:37 26 4
gpt4 key购买 nike

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

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

当 aInt 变大时,这会造成一些瓶颈,就像我的情况一样。我对quartz 2d了解不够,不知道如何最好地优化它。是否最好在循环中创建一个巨大的点数组,然后对整个数组进行一次斯托克?

或者更理想的是,我刚刚优化了处理数组的代码的不同部分。在这样做的过程中,我转而使用 C 风格的数组,这极大地加快了速度。是否有类似的低级方法来执行上述操作?

谢谢!

最佳答案

我还认为制作一个大数组会使其速度更快。对 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);

关于iphone - 如何优化quartz 2d?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1995391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com