Заметная разница в потреблении ОЗУ и времени запуска между 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, когда это возможно.

Другие вопросы по тегам