Glossary/Processes you will see
MTLCompilerService
Also: Metal shader compiler
Quick answer
MTLCompilerService is the macOS process that prepares graphics code for the GPU on behalf of apps that use Metal, Apple's graphics framework. Each app that draws with Metal gets its own copy, which is why Activity Monitor often lists several at once.
Games, browsers, video editors and many ordinary apps draw through Metal. Before the GPU can run an app's shaders, the small programs that decide how things look on screen, they have to be compiled for the chip in your Mac. macOS does that work in MTLCompilerService, apart from the app, so a faulty shader cannot crash the app itself.
The results are saved in the app's cache, so the work is done once and reused. A copy of MTLCompilerService goes away when its app quits.
Why MTLCompilerService is using so much CPU
An app is compiling shaders, and its saved copies are missing or out of date. This happens the first time an app runs, after the app or macOS has been updated, and when a game loads a new level. A burst of a few seconds to a few minutes is normal, and it is why a game can stutter the first time you enter an area and never again.
If it stays busy for much longer, one app is compiling the same shaders again and again. Browsers with graphics-heavy pages and apps that have just been updated are the usual ones.
What to do about it
Give it a few minutes after an update or a first launch. If it carries on, find the app it belongs to: quit the apps that draw graphics one at a time, browsers and games first, and watch which one takes the busy MTLCompilerService with it.
Then update that app, or in a browser close the tab that brought it on. Quitting MTLCompilerService itself is safe but rarely helps for long, because the app asks for a new one and the compiling starts over.
Questions people ask
What is MTLCompilerService on Mac?
A macOS process that compiles graphics shaders for apps that use Metal. It is part of macOS, and each app that needs it gets its own copy.
Why are there so many MTLCompilerService processes?
Because there is one for each app that draws with Metal, and some apps, browsers above all, start several. Idle copies use almost no CPU and little memory.
Is MTLCompilerService a virus?
No. It is part of macOS and lives inside the Metal framework in the System folder. High CPU from it means an app is preparing its graphics, not that something is wrong with the Mac.
Related
Looking for something better than Activity Monitor? See the best Activity Monitor alternatives for Mac, or browse every term in the glossary.