Я пытаюсь исправить ошибку производительности в одном из основных приложений и хотел бы узнать, есть ли какой-либо инструмент для сравнительного анализа или мониторинга, который я мог бы использовать для сравнения использования ЦП в разных ветках.
Спасибо.
решение1
Поскольку вы говорили об «основных приложениях», я полагаю, вы имеете в видуПроект приложений Ubuntu Touch Core.
В этом случае (разработка Ubuntu SDK/QML) есть два инструмента, которые могут оказаться полезными для ваших целей:
PerformanceOverlay
изUbuntu.PerformanceMetrics
модуля.Согласно документации:
PerformanceOverlay
Наложение, отображающее показатели, связанные с производительностью (время рендеринга, использование ЦП и т. д.)
PerformanceOverlay отображает различные индикаторы производительности, помогающие разработчикам обнаруживать проблемы в своих приложениях.
Просто используйте
top
илиhtop
из терминала, чтобы отслеживать использование ЦП для каждого потока, используемого вашим приложением QML.
Перечисленные выше инструменты особенно хороши для проверки проблем, связанных с использованием QML-анимации.
Если вам необходимо отслеживать время, необходимое для выполнения функции JS/QML, вы можете использовать метод Console.time()
и Console.timeEnd()
.
Видетьhttp://qt-project.org/doc/qt-5/qtquick-debugging.htmlдля получения дополнительной информации о Console.time()
.