Mojave 之前的系统中金属的可用性

问题描述 投票:0回答:1

考虑是否正确:

  1. Metal 可以在任何运行 Mojave 或更高版本的 Mac 上使用吗?
  2. 如果
    MTLCopyAllDevices()
    返回空数组,则 Metal 在早期系统上不可用?

换句话说,这个测试无论如何都是正确的吗?

if (@available(macOS 10.14, *)) { 
    MetalCompatible = true;
} else {
    MetalCompatible = MTLCopyAllDevices().count > 0;
}

顺便问一下,有没有更好的方法来测试 Metal 在旧 macOS 系统上的可用性?

objective-c macos metal
1个回答
0
投票
  1. Metal 自 OS X El Capitan (10.11) 起就可用

    @available(macOS 10.11, *) public func MTLCopyAllDevices() -> [any MTLDevice]

  2. 检测GPU特性和Metal软件版本

© www.soinside.com 2019 - 2024. All rights reserved.