Sponsored Links
-->

Friday, August 3, 2018

Metal vs OpenGl - YouTube
src: i.ytimg.com

Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader application programming interface (API) developed by Apple Inc., and which debuted in iOS 8. Metal combines functions similar to OpenGL and OpenCL under one API. It is intended to bring to iOS, macOS, and tvOS apps some of the performance benefits of similar APIs on other platforms, such as Vulkan (which debuted in mid-February 2016) and DirectX 12.

Metal is an object-oriented API that can be invoked using the Swift or Objective-C programming languages.


Video Metal (API)



History

Metal has been available since June 2, 2014 on iOS devices powered by Apple A7 or later, and since June 8, 2015 on Macs (2012 models or later) running OS X El Capitan.

On June 5, 2017 at WWDC, Apple announced the second version of Metal, to be supported by macOS High Sierra, iOS 11 and tvOS 11. Metal 2 is not a separate API from Metal and is supported by the same hardware. Metal 2 enables more efficient profiling and debugging in Xcode, accelerated machine learning, lower CPU workload, support for virtual reality on macOS, and specificities of the Apple A11 GPU, in particular.


Maps Metal (API)



Supported GPUs

On iOS and tvOS, Metal supports Apple-designed SoCs from the Apple A7 or newer. On macOS, Metal supports Intel HD and Iris Graphics from the HD 4000 series or newer, AMD GCN-based GPUs, and Nvidia Kepler-based GPUs or newer.


Apple unveils Metal API for iOS 8, will shave off OpenGL overhead ...
src: www.extremetech.com


Design

Metal is designed around principles of modern graphics and compute APIs, such as Vulkan and Direct3D 12, in that instructions are sent to the GPU in command buffers obtained from command queues.

Metal improves the capabilities of GPGPU programming by using compute shaders. Metal uses a specific shading language based on C++14; this is implemented using Clang and LLVM.


OpenCL vs Metal for Adobe Rendering on a Mac - YouTube
src: i.ytimg.com


Performance

Metal should have better performance than OpenGL, for several reasons:

  • Precomputed shaders and up-front state validation
  • Explicit synchronization between GPU and CPU
  • Shared memory space between GPU and CPU
  • Lower driver overhead
  • Efficient multithreading: every CPU thread can send commands to the GPU.

Some of these points remove the amount of work the CPU is required to do to successfully execute commands on the GPU. This can lead to overall performance gain because the CPU can then be used to compute other tasks.


iOS 8 vs. Android 4.4: Does Apple finally have the edge? - ExtremeTech
src: www.extremetech.com


Adoption

According to Apple, more than 148,000 applications use Metal directly, and 1.7 million use it through high-level frameworks, as of June 2017. Presumably, most of these are applications and games on iOS. Notable macOS games using Metal for rendering are listed below.


A Metal 2 API-ra tesz fel mindent az Apple - PROHARDVER ...
src: prohardver.hu


See also

  • Direct3D - DirectX 12 introduces low-level APIs
  • Mantle - low-level API by AMD
  • Vulkan - low-overhead successor to OpenGL
  • MoltenVK - software compatibility library to run Vulkan software on top of the Metal API
  • WebGPU

WWDC 2017: Apple's Metal 2 Graphics API Introduces Support For ...
src: www.lowyat.net


References


Apple's Number One CAD Vendor Optimistic about Metal for OS X ...
src: architosh.com


External links

  • Metal for Developers
  • Metal Programming Guide (preliminary)
  • WWDC14 demo; extended version

Source of article : Wikipedia