Metal

Accelerating graphics and much more.

Metal provides near-direct access to the graphics processing unit (GPU), enabling you to maximize the graphics and compute potential of your apps on iOS, macOS, and tvOS. Building on an approachable, low-overhead architecture with precompiled GPU shaders, fine-grained resource control, and multithreading support, Metal further evolves support for GPU-driven command creation, simplifies working with the array of Metal-capable GPUs, and lets you tap into Pro power of Mac Pro and Pro Display XDR.

What’s New in Metal

GPU-driven Compute Encoding
Moving beyond just rendering passes, Metal in iOS 13 and tvOS 13 empowers the GPU to construct its own compute commands with Indirect Compute Encoding. Now complete scenes using advanced culling and tessellation techniques can be built and scheduled with little or no CPU interaction.

Improved Raytracing Acceleration
Metal Performance Shaders (MPS) speed raytracing operations even more by moving the bounded volume hierarchy construction to the GPU. MPS also provide new, optimized de-noising filters in an essential collection of highly-optimized compute and graphics shaders.

Metal for Pro Apps
Professional content-creation apps can take advantage of outstanding enhancements in Metal on macOS Catalina. Metal Peer Groups make it easy to rapidly share data between multiple GPUs in Mac Pro without transferring through main memory. And enhancements to CAMetalLayer give you access to the High Dynamic Range capabilities of Pro Display XDR.

Simpler GPU Families
Developing with Metal is even easier with the dramatically simplified GPU Families. Three well-considered groupings allow you to easily target functionality that's common across all Metal-enabled GPUs, access unique capabilities of Apple-designed GPUs, and better harness supported third-party GPUs on macOS.

Metal Memory Debugger
The Metal Memory Debugger gives fine-grained insight into how much memory Metal objects and rendering resources consume at runtime. It also analyzes how your resources are configured and suggests improvements, so you can deeply optimize your game or app to take full advantage of Metal.

Metal-enabled iOS Simulator
The Simulator now uses Metal to speed up the development of iOS apps that either use Metal directly or rely on Metal-based system frameworks. This is perfect for smoothly transitioning from OpenGL ES to Metal.