Здравствуйте, гость ( Вход | Регистрация )
Gordey | Дата 4.7.2010, 18:54 |
я склоняюсь к тому, что при большом темпе поступления данных, в Qt будут проблемы. Т.к. вопрос о медленной отрисовке шрифтов в Qt уже не однократно поднимался. Могу ещё для эксперимента несколько идей подкинуть: 1) обрамлять вставку данных в виджет функцией setUpdatesEnabled(bool) 2) задать виджету фиксированный размер, чтобы не заставлять компоновщик обсчитывать геометрию. Спасибо за идеи. Попробую. |
|
Litkevich Yuriy | Дата 4.7.2010, 14:55 |
я склоняюсь к тому, что при большом темпе поступления данных, в Qt будут проблемы. Т.к. вопрос о медленной отрисовке шрифтов в Qt уже не однократно поднимался. Могу ещё для эксперимента несколько идей подкинуть: 1) обрамлять вставку данных в виджет функцией setUpdatesEnabled(bool) 2) задать виджету фиксированный размер, чтобы не заставлять компоновщик обсчитывать геометрию. |
|
Gordey | Дата 4.7.2010, 14:35 |
Gordey, может попробуешь QPlainTextEdit? Он попроще. Все-таки QTextEdit достаточно сложный с кучей плюшек всяких и поэтому тормозной. Пробовал уже. На первый взгляд никаких изменений не увидел. Если я комментирую вывод информации в виджет, то тормоза пропадают. void MainWindow::setOutput(const QString &msg) { // ui->plainTextEdit->insertPlainText(msg); } а если накапливать данные в std::vector<char> , а закидывать их с контрол не чаще чем, скажем, раз в 250 мс ? Причём, если очередное обновление запоздало, то основной процесс пускай подпинывает обновление контрола из вектора по таймеру И так уже пробовал. Не помогает. Посылки приходят уже большого размера. |
|
inviZ | Дата 4.7.2010, 13:13 |
Gordey, может попробуешь QPlainTextEdit? Он попроще. Все-таки QTextEdit достаточно сложный с кучей плюшек всяких и поэтому тормозной. | |
Алексей1153 | Дата 4.7.2010, 9:34 |
Если я комментирую вывод информации в виджет, то тормоза пропадают. void MainWindow::setOutput(const QString &msg) { // ui->plainTextEdit->insertPlainText(msg); } а если накапливать данные в std::vector<char> , а закидывать их с контрол не чаще чем, скажем, раз в 250 мс ? Причём, если очередное обновление запоздало, то основной процесс пускай подпинывает обновление контрола из вектора по таймеру |
|
Gordey | Дата 4.7.2010, 8:11 |
Неужто здесь на форуме нет гуру способных помочь? | |
Gordey | Дата 2.7.2010, 17:29 |
TextEdit Ааа... Я уже разные перепробовал. |
|
Litkevich Yuriy | Дата 2.7.2010, 16:22 |
А что значит менять? на какой-нибудь другой виджет. |
|
Gordey | Дата 2.7.2010, 15:31 |
Видимо для TextEdit это слишком большой темп поступления данных. Можно попробовать буферировать его, хотя я сомневаюсь, что это поможет. Скорее всего придётся менять сам виджет А что значит менять? Как его можно изменить чтобы он быстрее работал? |
|
Litkevich Yuriy | Дата 2.7.2010, 11:50 |
Но такой вариант мне не подходит так как консольное приложения я изменить не могу. а зачем ты в него вообще полез, если оно неизменяемое? Про него и забудь.Видимо для TextEdit это слишком большой темп поступления данных. Можно попробовать буферировать его, хотя я сомневаюсь, что это поможет. Скорее всего придётся менять сам виджет. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.4.2024, 15:29 |