考虑是否正确:
MTLCopyAllDevices()
返回空数组,则 Metal 在早期系统上不可用?换句话说,这个测试无论如何都是正确的吗?
if (@available(macOS 10.14, *)) {
MetalCompatible = true;
} else {
MetalCompatible = MTLCopyAllDevices().count > 0;
}
顺便问一下,有没有更好的方法来测试 Metal 在旧 macOS 系统上的可用性?
Metal 自 OS X El Capitan (10.11) 起就可用
@available(macOS 10.11, *) public func MTLCopyAllDevices() -> [any MTLDevice]