Metal (API)

Metal 是由苹果公司所开发的一个应用程序接口(API),兼顾图形与计算功能,面向底层、低开销的硬件加速。其类似于将 OpenGLOpenCL 的功能集成到了同一个API上,最初支持它的系统是 iOS 8。Metal 使得 iOS 可以实现其他平台的类似功能,例如 Khronos Group 的跨平台 VulkanMicrosoft Windows 上的 Direct3D 12

Metal
使用Metal的多人在线战斗竞技场游戏《虚荣》,运行于iPhone 6[1]
开发者Apple Inc.
首次发布2014年6月,​10年前​(2014-06
当前版本3(2019年6月,​5年前​(2019-06
编程语言C++14(着色器)
Objective-C(Runtime/API)
操作系统iOS, macOS, tvOS
类型API
许可协议专有软件
网站developer.apple.com/metal/

Metal也通过引入计算着色器英语Compute kernel来进一步提高GPGPU编程的能力。[2]

Metal 使用一种基于C++11的新着色语言英语Shading language,其实现借助了 ClangLLVM[3]

历史

2014年6月2日,Metal 开始支持iOS设备(仅支持Apple A7或更新款处理器的iPhoneiPad);2015年6月8日,Metal 开始支持运行 OS X El Capitan 的Mac设备(仅2012年中或更新款机种)[4][5]

2017年6月5日,Apple于WWDC宣布了Metal的第二个版本,支持macOS High SierraiOS 11tvOS 11。Metal 2不是Metal的独立API,并且由需要的硬件支持。 Metal 2在Xcode中实现了更高效的分析和调试,加速了机器学习、降低了CPU工作负载、支持macOS上的虚拟现实以及Apple A11处理器的特性。[6]

2019年6月3日,Metal API更新到第三个版本,支持macOS CatalinaiOS 13iPadOS 13

2020年的苹果全球开发者大会(WWDC)上,苹果宣布将Mac迁移到Apple Silicon。使用Apple Silicon的Mac将使用Apple GPU,支持之前在macOS和iOS上实现的特色功能,并将能够利用为Apple GPU架构所定制的基于图块的延迟渲染(TBDR)功能。[7]

参见

参考文献

  1. ^ McWhertor, Michael. This is the game Apple used to show off iPhone 6. Polygon. Vox Media. 2014-09-09 [2014-09-09]. (原始内容存档于2014-09-10). 
  2. ^ Data-Parallel Compute Processing: Compute Command Encoder. developer.apple.com. [2017-02-10]. (原始内容存档于2017-02-02) (英语). 
  3. ^ Metal Shading Language Guide. 2014-09-08 [2014-09-10]. (原始内容存档于2016-03-15). 
  4. ^ Apple 发布包含 4,000 多个全新 API 的 iOS 8 SDK. [2016-09-17]. (原始内容存档于2016-10-26). 
  5. ^ Apple 宣布推出体验更出色、性能更强大的 OS X El Capitan. [2016-09-17]. (原始内容存档于2016-10-10). 
  6. ^ Archived copy of the Metal homepage, November 2017. Apple Developer. Apple. 2017-11-20 [2016-03-20]. (原始内容存档于2017-11-20) –通过Wayback Machine. 
  7. ^ Bring your Metal app to Apple Silicon Macs. developer.apple.com. [2020-07-13]. (原始内容存档于2021-01-03). 

外部链接