ios - CIGaussianBlur 处理过多

标签 ios swift sprite-kit skeffectnode

<分区>

我正在尝试在游戏暂停屏幕上应用 CIGaussianBlur 效果。这是我的代码:

effectsNode = SKEffectNode();
let filter = CIFilter(name: "CIGaussianBlur");
let blurAmount = 10.0;
filter.setValue(blurAmount, forKey: kCIInputRadiusKey);

effectsNode.filter = filter;
effectsNode.blendMode = .Alpha;

此代码运行良好,但它占用过多的处理能力并大大降低了 FPS!我只想要游戏暂停时背景的静态模糊图像。

这个问题有解决办法吗?

最佳答案

您是否在每一帧上应用效果?您应该只应用一次,然后保存结果,并在暂停期间显示该结果。您可以在 this post 中看到这样的示例

关于ios - CIGaussianBlur 处理过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569141/

相关文章:

iphone - 如何着手构建一个访问具有自定义 UI 的网站的 iPhone 应用程序?

ios - 当界面方向颠倒时呈现 View Controller

ios - SwiftUI:如何在后台运行计时器

ios - 如何判断有多少 UITableViewCell 是可见的

ios - 如何在 Swift 中处理返回纯文本的 API,每行一个单词?

swift - 当我滚动 TableView 或 Collection View 时,为什么 Collection View 单元格中的数据会发生变化?

ios - 为什么我的矩形画错了?

swift - 如何快速获取连续触摸的初始位置

ios - Swift:将数组对象显示到tableView

ios - 在 SpriteKit 中的 GameScene.swift 之前添加一个屏幕