如何在iOS上实现JPG图像显示的快速帧速率?

时间:2014-05-15 10:12:53

标签: ios performance jpeg calayer gpuimage

我已经能够在iPhone 3GS上获得接近10 FPS的稳固JPG切换,但我发现GPU和CALayer的速度更快。你能帮我确定一下如何做到这一点吗?我在下面尝试过各种各样的东西。

这是我一直在使用的......

#define FPS 12.0

[NSTimer scheduledTimerWithTimeInterval:(1.0 / FPS) target:self selector:@selector(animateMethod:) userInfo:nil repeats:YES];

请注意,方法baseImagePath为每次调用返回不同的路径。

- (void)animateMethod:(NSTimer *)timer
{
    self.imageView.image = [UIImage imageWithContentsOfFile:[self baseImagePath]];
}

这是我尝试过的......

- (void)animateMethod:(NSTimer *)timer
{
    self.layerView.layer.contents = [(__bridge id)([[UIImage imageWithContentsOfFile:[self baseImagePath]] CGImage]);
}

1 个答案:

答案 0 :(得分:0)

我认为你可以从不同的角度来解决这个问题,以达到你想要的效果。您可以利用UIImageView的动画属性来完成此任务。您可以按照希望它们在动画中显示的顺序将图像预先加载到数组中。然后设置UIImageView

NSMutableArray *images = [NSMutableArray array];
for (int i = 0; i < 16; i++) {
    UIImage *image = [UIImage imageNamed: [NSString stringWithFormat: @"image_%d.jpg", i]];
    [images addObject: image];
}

[self.myImageView setAnimationImages: images];
[self.myImageView setAnimationDuration: 0.5];     // Image view will loop through all images in half a second.
[self.myImageView setAnimationRepeatCount: 0];    // Infinite looping
[self.myImageView startAnimating];