Приветствую! Такой вопрос. QML приложение, через textarea выводится лог. в

C++ данные через append добавляю к QString, потом сигнал обновление. На больших объемах начинает тормозить очень. Отчключая разные части пришел к выводу, что тормозит именно вывод в QML. Как можно проще ускорить не особо ломая логику? Пока что на ум приходит - обновлять не по событию добавления записи в лог, а по таймеру пореже, так как записи добавляются часто(примерно 1мС +-)

11 ответов

18 просмотров

думаю тебе не нужен весь тект, рисуешь ты же только малую часть

А зачем человеческому глазу видеть как по 1 милисекунде добавляется запись ?)?)

Vitaly- Автор вопроса
Mr.Mait
А зачем человеческому глазу видеть как по 1 милисе...

абсолютно незачем, так просто логика проще получалась. Добавили - обновили.

можно выводить в ListView. будет быстрее и сортировать/фильтровать проще

Vitaly- Автор вопроса
mefest
думаю тебе не нужен весь тект, рисуешь ты же тольк...

Рисую малую часть, но нужно иметь возможность пролистать и посмотреть весь лог

Vitaly
Рисую малую часть, но нужно иметь возможность прол...

догрузишь. вообще не понятно "больште объемы" это сколько? если данных на гигабайты то тут много кто испытывает трудности

Vitaly- Автор вопроса
mefest
догрузишь. вообще не понятно "больште объемы" это ...

20к символов примерно и начинаются проблемы. Хотя опять же, датарейт большой. Возможно снижу датарейт и будет ок

Vitaly- Автор вопроса
Макс Воробьев
можно выводить в ListView. будет быстрее и сортиро...

А я правильно понимаю, что через listView будет работать быстрее за счет того, что обновляться будет только видимая часть?

Vitaly
А я правильно понимаю, что через listView будет ра...

не только. для TextArea тебе нужно каждый раз пересобирать QString.

Vitaly- Автор вопроса
Макс Воробьев
не только. для TextArea тебе нужно каждый раз пере...

Т.е. мне сейчас проще всего данные хранить в QStringList и скормить это в качестве модели для listView. Так?

Vitaly
Т.е. мне сейчас проще всего данные хранить в QStri...

Ну это самый просто вариант, но не спасёт на больших обьемах, похорошему - нормальную модель сделать, где постоянно "болтаться" будут последние N строк, а если нужно пролистать выше - погружаться из файла или ещё откуда-то где логи лежат.

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта