Ich versuche, einen Leistungsfehler in einer der Kern-Apps zu beheben, und möchte wissen, ob es ein Benchmarking- oder Überwachungstool gibt, mit dem ich die CPU-Nutzung meiner verschiedenen Zweige vergleichen kann.
Danke.
Antwort1
Da Sie von „Kern-Apps“ gesprochen haben, nehme ich an, dass Sie sich aufUbuntu Touch Core Apps-Projekt.
In diesem Fall (Ubuntu SDK/QML-Entwicklung) gibt es zwei Tools, die für Ihren Zweck nützlich sein könnten:
PerformanceOverlay
vomUbuntu.PerformanceMetrics
Modul.Laut Dokumentation:
Leistungsüberlagerung
Overlay mit Anzeige leistungsbezogener Messdaten (Renderzeit, CPU-Auslastung usw.)
PerformanceOverlay zeigt verschiedene leistungsbezogene Indikatoren an, um Entwicklern bei der Erkennung von Problemen in ihrer Anwendung zu helfen.
Verwenden Sie einfach
top
oderhtop
vom Terminal aus, um die CPU-Auslastung für jeden von Ihrer QML-Anwendung verwendeten Thread zu erkennen.
Die oben aufgeführten Tools eignen sich besonders gut zum Überprüfen von Problemen im Zusammenhang mit der Verwendung von QML-Animationen.
Wenn Sie die zum Ausführen einer JS/QML-Funktion benötigte Zeit verfolgen müssen, können Sie Console.time()
diese Console.timeEnd()
Methode verwenden.
Sehenhttp://qt-project.org/doc/qt-5/qtquick-debugging.htmlfür weitere Informationen zu Console.time()
.