Заметная разница в потреблении ОЗУ и времени запуска между Qt 5.8 и Qt 5.7 QtQuick
Официальные документы говорят, что новая версия Qt 5.8:
В Qt QML и Qt Quick произошло довольно много вещей. Движок QML получил поддержку для кэширования двоичных представлений файлов QML и JS на диске, что сокращает время запуска и потребление памяти движком.
Но похоже, что ни время запуска, ни потребление памяти не улучшилось, более того, оно стало медленнее и использует больше оперативной памяти.
Я предоставил несколько тестов. Создан новый пустой проект, запущен task manager
и то, что я увидел, это:
Использование памяти:
Qt 5.8 18.8 mb
Qt 5,7 14,2 мб
Время запуска:
Разница в секунду, когда я помещаю новый элемент в StackView
с помощью URL
Так что они улучшили?
1 ответ
При первом запуске будет сгенерирован код и структуры данных из файлов.qml/.js. Полученные файлы кэша.qmlc и.jsc будут использоваться для последующих запусков, поэтому вы не увидите никакой разницы при первом запуске приложения.
Мой основной проект с более чем 20 тысячами строк кода
Это также зависит от того, как устроен ваш qml-код и насколько велики ваши qml-файлы, вам нужно минимизировать создание qml-объектов при запуске, разделить ваши qml-файлы на логические единицы и использовать Loader, когда это возможно.