Metal 2 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 efficient low-overhead architecture with precompiled shaders, fine-grained resource control, and multithreading support, Metal 2 evolves to give the GPU even greater control of its graphics pipeline, accelerate neural network training, and provide powerful new tools that give deep insight into your shader code.
What’s New in Metal 2
GPU-driven Command Encoding Further evolving its support for GPU controlled pipelines, Metal 2 in iOS 12, macOS Mojave, and tvOS 12 enables the GPU to construct its own rendering commands. Now complete scenes can be built and scheduled with little to no CPU interaction, freeing the GPU to deliver maximum performance and minimizing interaction with the CPU.
Accelerated Machine Learning Training Metal Performance Shaders (MPS) adds support for accelerating the computationally intensive task of training neural networks. Use a graph-based approach with a variety of supported machine learning primitives as node types to configure a neural network and rapidly train it using the GPU.
Accelerated Ray-Triangle Intersection MPS also adds performance-tuned primitives that accelerate the processing of intersections between rays and triangles in a 3D scene. Now you can harness the massive parallelism of GPU to dramatically speed up the latest raytracing-style techniques used in rendering, game AI, and environmental audio.
Shader Debugger The Metal shader debugger provides deep insight into even the most subtle issues in vertex, fragment, compute, and tile shader code. Simply click on a triangle in a scene to see how the shader execution arrived at what was rendered, easily see the variables values across GPU threads, and step forward and backward through execution to quickly locate and fix any issues with your code.
Dependency Viewer Integrated within the Metal frame debugger is a detailed graph-based view of the graphics resources written used in your game or app, perfect for an at-a-glance understanding of how resources flow across your entire GPU workload.