Кеширование изображений / градиентов? - PullRequest
1 голос
/ 10 июля 2019

У меня есть TableView около 40 строк и 4 столбца.Все 160 ячеек имеют Rectangle с градиентом.Я использую Qt5.13 с включенным быстрым компилятором.Тем не менее, когда я оживляю все эти 160 ячеек в относительно больших временных интервалах (100 мс), пользовательский интерфейс перестает отвечать на запросы.Это означает, что рендеринг градиентов занимает слишком много времени.На самом деле, если я рендую только 40 таких ячеек, я могу с легкостью обновлять их с интервалами в 100 мс.

Прямоугольники представляют индикаторы выполнения.У них есть градиенты сверху вниз.Однако значение (длина) индикаторов также меняет градиенты.Вот почему для каждой точки значения (длины) градиенты должны быть воссозданы и перерисованы.

Очевидно, что это медленно.Я хотел бы, чтобы градиенты кэшировались для каждой точки значения (длины).Они представляют проценты, поэтому мне нужно было бы только кэшировать 101. Я совершенно уверен, что это повышает производительность здесь.

Однако, как я могу кэшировать градиенты (или любые объекты) самостоятельно вQML?Более общий (или бонусный) вопрос: как я могу иметь общий ресурс QML между несколькими файлами QML?

1 Ответ

0 голосов
/ 10 июля 2019

Вы можете попытаться загрузить изображения вместо рендеринга, если у вас есть доступ к большой памяти.Может быть, вы также можете попробовать масштабировать SVG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...