gpt4 book ai didi

ios - 在 sprite kit 中使用渐变效果将 fps 从 60 降低到 30

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:02 25 4
gpt4 key购买 nike

我正在为 ios 开发一个 sprite 套件游戏项目,我的游戏在不使用渐变效果的情况下以 60 fps 运行。我使用的是 self.backgroundcolor = [SkColor randomColor],但是当我在我的背景上使用渐变效果时,我的游戏直接下降到 30 fps。

下面是我用于渐变效果的代码。

此方法在我的 SkScene 类中,而不是在我的 ViewController 类中。

#pragme mark - Gradient Effect setup.

- (void)drawRect
{

UIGraphicsBeginImageContext(CGSizeMake(1168, 660)); //For landscape mode.
CGContextRef context = UIGraphicsGetCurrentContext();


CGGradientRef gradient;

CGColorSpaceRef colorSpace;

CGFloat location[] = {1};

UIColor *colorOne = [UIColor colorWithRed:(48/255.0) green:(204/255.0) blue:(255/255.0) alpha:1.0];
UIColor *colorTwo = [UIColor colorWithRed:(200/255.0) green:(251/255.0) blue:(255/255.0) alpha:1.0];

NSArray *color = [NSArray arrayWithObjects:(id)colorTwo.CGColor,
(id)colorOne.CGColor, nil];

colorSpace = CGColorSpaceCreateDeviceRGB();

gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef) color, location);

CGPoint startPoint, endPoint;
startPoint.x = 0;
startPoint.y = 0;

endPoint.x = 0;
endPoint.y = 250;

CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, kCGGradientDrawsAfterEndLocation);

CGColorSpaceRelease(colorSpace);
CGGradientRelease(gradient);

UIImage *newimage = UIGraphicsGetImageFromCurrentImageContext();
SKTexture *newte = [SKTexture textureWithImage:newimage];
newte.filteringMode = SKTextureFilteringNearest;

SKSpriteNode *newnode = [SKSpriteNode spriteNodeWithTexture:newte];
newnode.zPosition = -10;


[gradientCloud addChild:newnode];


}

感谢任何帮助。

最佳答案

我遇到了类似的问题,我使用了一个带有图像的大型 Sprite 作为我的一个场景的背景。没有它,(只是 self.backgroundColor = [SKColor blackColor]),fps 在 60 左右,但是当我添加背景时,它下降到 30 左右。

问题是我在模拟器上测试应用程序。当我将应用程序加载到真实设备时,fps 又回到了 60。我什至还在场景中添加了一些粒子效果,但 fps 仍然是 60。在真实设备上测试你的项目,看看 fps 是否下降。如果是这样,那么还有另一个问题。如果没有,你们都很好!

关于ios - 在 sprite kit 中使用渐变效果将 fps 从 60 降低到 30,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035656/

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