这个功能实现了它需要完成的任务,但是它需要大约400毫秒的时间,这比需要的时间长出了350毫秒:
- (void) updateCompositeImage { //blends together the background and the sprites
UIGraphicsBeginImageContext(CGSizeMake(480, 320));
[bgImageView.image drawInRect:CGRectMake(0, 0, 480, 320)];
for (int i=0;i<numSprites;i++) {
[spriteImage[spriteType[i]] drawInRect:spriteRect[i] blendMode:kCGBlendModeScreen alpha:spriteAlpha[i]];
}
compositeImageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
这些图像相当小,而且只有三张(for循环只迭代两次)。
有没有更快的方法来做到这一点?同时仍然能够使用kCGBlendModeScreen和alpha?