相关疑难解决方法(0)

Swift Metal MTLCreateSystemDefaultDevice返回nil

我尝试在Metal iOS上进行开发并收到以下错误:

码:

let device = MTLCreateSystemDefaultDevice()!
Run Code Online (Sandbox Code Playgroud)

错误:

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)

我正在使用xcode 9.4.1

iOS SDK:11.4

体系结构:arm64 armv7 armv7s

有人可以帮忙吗?

ios swift metal

6
推荐指数
1
解决办法
797
查看次数

CIImage显示MTKView与GLKView的性能

我有一系列UIImage(由来自服务器的传入jpeg数据制成),希望使用MTKView进行渲染。问题是,与GLKView相比,它太慢了。当我要在MTKView中显示一系列图像但在GLKView中没有延迟时,会有很多缓冲和延迟。

这是MTKView显示代码:

 private lazy var context: CIContext = {
    return CIContext(mtlDevice: self.device!, options: [CIContextOption.workingColorSpace : NSNull()])
}()

 var ciImg: CIImage? {
    didSet {
        syncQueue.sync {
            internalCoreImage = ciImg
        }
    }
}

 func displayCoreImage(_ ciImage: CIImage) {
    self.ciImg = ciImage
}

  override func draw(_ rect: CGRect) {
     var ciImage: CIImage?

    syncQueue.sync {
        ciImage = internalCoreImage
    }

    drawCIImage(ciImg)

}

 func drawCIImage(_ ciImage:CIImage?) {
    guard let image = ciImage,
        let currentDrawable = currentDrawable,
        let commandBuffer = commandQueue?.makeCommandBuffer()
        else {
            return
    }
    let currentTexture …
Run Code Online (Sandbox Code Playgroud)

opengl-es core-image ios glkview metalkit

5
推荐指数
0
解决办法
214
查看次数

标签 统计

ios ×2

core-image ×1

glkview ×1

metal ×1

metalkit ×1

opengl-es ×1

swift ×1