当应用程序启动时,DYMTLInitPlatform平台初始化成功日志是什么?

Can*_*ğlu 19 xcode ios ios10 xcode8

我刚刚更新到Xcode 8/iOS 10 SDK,现在当我编译并运行我的应用程序时,我[DYMTLInitPlatform] platform initialization successful在输出中的所有其他日志之前得到了.

这不是有害的或任何东西,但我想知道该消息是什么,与Xcode 7.3/iOS 9.3 SDK不相关.

Pau*_*olt 6

这是来自Apple的Metal API捕获逻辑(位于Apple内部)的调试消息...因此,它显示在SpriteKit或SceneKit应用中有点令人困惑。

您可能还会看到以下消息:

2018-05-08 13:03:01.166917-0400 <Your-App-Name>[1728:741547] [DYMTLInitPlatform] platform initialization successful
2018-05-08 13:03:01.255515-0400 <Your-App-Name>[1728:741333] Metal GPU Frame Capture Enabled
2018-05-08 13:03:01.255994-0400 <Your-App-Name>[1728:741333] Metal API Validation Enabled
Run Code Online (Sandbox Code Playgroud)

您可以通过禁用GPU帧捕获来禁用这些日志消息以及调试工具(请阅读以下警告)。

单击您的应用程序名称>编辑方案>运行>将“ GPU帧捕获”从“自动启用”更改为“禁用”

在Xcode 9中禁用GPU帧捕获

SpriteKit / SceneKit开发人员

如果您只是在制作SpriteKit游戏,而不是使用Metal做事,则可能需要禁用GPU Frame Capture来提高性能,直到您需要使用它来调试图形工件为止。

金属开发商

如果您使用的是Metal,则希望启用GPU Frame Capture和验证功能,因为这是防止滥用Metal API(导致GPU重新启动)的唯一方法。

Mac / iOS上的GPU重新启动看起来像是“不错的暂停”……这是因为,当您的命令缓冲区指令不正确时,缓冲区将被丢弃,GPU便会关闭并重新打开。您将从该命令缓冲区中丢失数据,并且会看到渲染暂停。有时,您可以告诉发生的唯一方法是查看系统日志。

苹果的文档和GPU调试视频

Apple的Metal文档建议您保留这些功能,以确保正确使用Metal API,但是如果日志令人讨厌,则可以在开发和定期检查时禁用它们。

您可以在Apple的Metal 2 Optimization and Debugging 2017 WWDC视频中了解有关GPU帧捕获和调试工具的更多信息


小智 2

我遇到了同样的情况。

猜测 1: 我认为它可能是与图形相关的日志,因为 MTL 是 Metal 的缩写。

猜测2: 你的项目中使用了ffmpeg相关库吗?因为在我导入它们之前没有这样的日志。

我还找到了隐藏这些日志的方法: 隐藏奇怪的不需要的 Xcode 8 日志

我已经尝试过并且有效