詞彙表/你會看到的程序

MTLCompilerService

又稱:Metal著色器編譯器

簡短回答

MTLCompilerService是替使用Metal(Apple的圖形框架)的App為GPU準備圖形程式碼的macOS程序。每個用Metal繪圖的App都有自己的一份,所以活動監視器常常同時列出好幾個。

遊戲、瀏覽器、影片剪輯軟體和許多一般App都透過Metal繪圖。著色器是決定畫面外觀的小程式,GPU要執行App的著色器之前,必須先針對你Mac裡的晶片進行編譯。macOS把這項工作放在MTLCompilerService中、和App分開進行,這樣有問題的著色器就不會讓App本身當掉。

結果會存進App的快取,所以這項工作只做一次,之後重複使用。App結束時,它的那一份MTLCompilerService也會跟著消失。

MTLCompilerService為什麼使用這麼多CPU

有App正在編譯著色器,而它存下的副本不見了或已經過時。App第一次執行時、App或macOS更新後,以及遊戲載入新關卡時,都會發生這種情況。持續幾秒到幾分鐘的短暫高用量是正常的,這也是為什麼遊戲在你第一次進入某個區域時會卡頓,之後就不會了。

如果它忙得久得多,就是某個App一再重複編譯同樣的著色器。常見的是開著圖形繁重網頁的瀏覽器,以及剛更新過的App。

該怎麼處理

更新或第一次啟動後,給它幾分鐘。如果還是持續,就找出它屬於哪個App:一次結束一個會繪製圖形的App,先從瀏覽器和遊戲開始,看結束哪一個時,忙碌的MTLCompilerService也跟著消失。

接著更新那個App;如果是瀏覽器,就關閉引發問題的標籤頁。結束MTLCompilerService本身是安全的,但效果很少能維持太久,因為App會再要求一個新的,編譯又從頭開始。

大家常問的問題

Mac上的MTLCompilerService是什麼?

為使用Metal的App編譯圖形著色器的macOS程序。它是macOS的一部分,每個需要它的App都有自己的一份。

為什麼有這麼多MTLCompilerService程序?

因為每個用Metal繪圖的App都有一個,而有些App會啟動好幾個,尤其是瀏覽器。閒置的那些幾乎不用CPU,記憶體也用得很少。

MTLCompilerService是病毒嗎?

不是。它是macOS的一部分,位於「系統」檔案夾中的Metal框架內。它的CPU用量高,表示有App正在準備圖形,而不是Mac出了問題。

相關詞條

想找比活動監視器更好的工具?請參閱Mac上最好用的活動監視器替代方案,或瀏覽詞彙表中的所有詞條。