Metal
Overview
The Metal framework gives your app direct access to a device’s graphics processing unit (GPU). With Metal, apps can leverage a GPU to quickly render complex scenes and run computational tasks in parallel. For example, apps in these categories use Metal to maximize their performance:
Games that render sophisticated 2D or 3D environments
Video processing apps, like Final Cut Pro
Scientific research apps that analyze and process large datasets
Fully immersive visionOS apps
Metal works hand-in-hand with other frameworks that supplement its capability. For example, MetalFX upscales your renderings in less time than rendering them natively, and MetalKit simplifies the tasks that display your Metal content onscreen. The Metal Performance Shaders framework provides a large library of optimized compute and rendering shaders that take advantage of each GPU’s unique hardware. In visionOS, create fully immersive stereoscopic content with the help of the Compositor Services framework.
Many high-level Apple frameworks leverage the performance of Metal, including RealityKit, SceneKit, SpriteKit, and Core Image. These high-level frameworks implement the GPU programming details for you. However, you can typically get better performance by writing your own custom Metal and shader code. See the Metal Shading Language Specification for shader implementation details.