相关疑难解决方法(0)

MTKView绘图性能

我正在尝试做什么

我正在尝试通过使用“金属”视图在相机Feed上显示滤镜:MTKView。我密切关注Apple的示例代码的方法- 通过利用TrueDepth摄像机数据链接)来增强实时视频

我到目前为止所拥有的

以下代码效果很好(主要从上述示例代码解释):

    class MetalObject: NSObject, MTKViewDelegate {

            private var metalBufferView         : MTKView?
            private var metalDevice             = MTLCreateSystemDefaultDevice()
            private var metalCommandQueue       : MTLCommandQueue!

            private var ciContext               : CIContext!
            private let colorSpace              = CGColorSpaceCreateDeviceRGB()

            private var videoPixelBuffer        : CVPixelBuffer?

            private let syncQueue               = DispatchQueue(label: "Preview View Sync Queue", qos: .userInitiated, attributes: [], autoreleaseFrequency: .workItem)

            private var textureWidth            : Int             = 0
            private var textureHeight           : Int             = 0
            private var textureMirroring        = …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift metal metal-performance-shaders

9
推荐指数
1
解决办法
974
查看次数

MTLCreateSystemDefaultDevice 在 iOS 13 模拟器上返回 nil

我正在使用 Xcode 11 GM Seed (11A419c)。当我在 iOS 13 模拟器上运行 Metal 代码并尝试访问使用 MTLCreateSystemDefaultDevice() 创建的金属设备时,它返回 nil。如果没有这个设备,Metal 应该如何在模拟器上运行?XCode 中是否有任何设置可以修复它?如果重要的话,我有运行 Mac OS 10.14.6 的 Macbook Pro Retina 2012 型号。

xcode ios metal metalkit ios13

3
推荐指数
1
解决办法
705
查看次数

如何限制 gcd 队列缓冲区大小

我正在尝试使用 CoreImage & Metal 处理一系列 UIImages 并显示它们。我的问题是如果我的 gcd 块很忙,我想删除传入的图像。我如何实现这个 GCD 队列,我如何定义队列的最大缓冲区大小?

core-image grand-central-dispatch ios swift metal

0
推荐指数
1
解决办法
1390
查看次数