упирается в GPU, так как у экрана высокое разрешение и много накладывающихся прозрачных элементов. Я хочу воспользоваться тем фактом, что большинство этих элементов почти статические (меняются примерно раз в минуту), а то что меняется часто, выводится поверх.
Я хочу отрендерить статику отдельно в текстуру, которая будет очень редко обновляться, и выводить её фоном. Я пробовал через слои, но производительность только упала. Видимо QML движок обновляет текстуру каждый раз, несмотря на то, что она не меняется.
Как можно контролировать частоту обновления текстуры слоя? Я знаю, что помимо слоёв ещё бывает grabToImage, но это не очень оптимальное решение, так как оно будет гонять текстуру в системную память и обратно.
Ты выставлял параметр кешированиЯ?
Зачем эта сложность с рендером в текстуру? QML обновляет элементы только те которые изменились, просто не меняй ничего и будет так как ты хочешь
я до конца в твою проблему не вник, и без примера это ещё тяжелее, но вот с производительностью в QML мы столкнулись - https://t.me/qt_chat/157241
Можно попробовать создать QQuickItem, который будет формировать "статику". И в updatePaintNode обновлять данные с нужной периодичностью.
Обсуждают сегодня