web-dev-qa-db-fra.com

Qu'est-ce que le journal de réussite de l'initialisation de la plateforme DYMTLInitPlatform au démarrage de l'application?

Je viens de mettre à jour le SDK Xcode 8/iOS 10 et maintenant quand je compile et exécute mon application, je reçois [DYMTLInitPlatform] platform initialization successful avant tous les autres journaux de la sortie.

Ce n'est pas dangereux ou quoi que ce soit, mais je me demandais à quoi ce message est lié, qui n'était pas là avec le SDK Xcode 7.3/iOS 9.3.

19
Can Poyrazoğlu

Il s'agit d'un message de débogage de la logique de capture de l'API Metal d'Apple (interne à Apple) ... il est donc un peu déroutant qu'il s'affiche dans une application SpriteKit ou SceneKit.

Vous verrez probablement aussi les messages:

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

Vous pouvez désactiver ces messages de journal ainsi que les outils de débogage en désactivant la capture de trame GPU (lisez les mises en garde ci-dessous).

Cliquez sur le nom de votre application> Modifier le schéma> Exécuter> Changez "Capture de trame GPU" de "Activé automatiquement" en "Désactivé"

Disable GPU Frame Capture in Xcode 9

Développeurs SpriteKit/SceneKit

Si vous faites juste un jeu SpriteKit et que vous ne faites rien avec Metal, vous pouvez probablement vous en sortir en désactivant la capture d'images GPU pour améliorer les performances jusqu'à ce que vous deviez l'utiliser pour déboguer des artefacts graphiques.

Développeurs de métaux

Si vous utilisez Metal, vous souhaiterez laisser GPU Frame Capture activé, ainsi que la validation, car c'est le seul moyen d'empêcher l'utilisation abusive des API Metal (ce qui entraîne le redémarrage du GPU).

Un redémarrage du GPU sur Mac/iOS ressemblera à une "pause agréable" ... c'est parce que lorsque vos instructions de tampon de commande sont incorrectes, le tampon est jeté et le GPU est littéralement éteint puis rallumé. Vous perdrez des données de ce tampon de commande et vous verrez une pause dans le rendu. Parfois, la seule façon de savoir ce qui se passe est de consulter le journal système.

Documentation d'Apple et vidéo de débogage GPU

la documentation Metal d'Apple recommande que vous les laissiez activés pour vous assurer que vous utilisez correctement les API Metal, mais si les journaux sont ennuyeux, vous pouvez les désactiver pendant que vous développez et vérifiez régulièrement.

Vous pouvez en savoir plus sur les outils de capture de trame GPU et de débogage dans Vidéo d'Apple Metal 2 Optimization and Debugging 2017 WWDC

4
Paul Solt

Je suis tombé sur la même situation.

Devinez 1: Je suppose que cela pourrait être un journal lié à Graphic, car MTL est l'abréviation de Metal.

Devinez 2: Avez-vous utilisé la bibliothèque liée à ffmpeg dans votre projet? Depuis avant de les importer, il n'y a pas de tels journaux.

Je trouve également un moyen de masquer ces journaux: Masquer les journaux Xcode 8 étranges indésirables

J'ai essayé et ça marche

2
Edwin Cen