Russian Qt Forum
Сентябрь 26, 2018, 12:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Большой объем данных TableView  (Прочитано 741 раз)
nvek
Самовар
**
Offline Offline

Сообщений: 178



Просмотр профиля
« : Июнь 04, 2018, 12:52 »

сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?
Записан
maks1596
Новичок

Offline Offline

Сообщений: 25


Просмотр профиля
« Ответ #1 : Июнь 04, 2018, 13:04 »

сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?

А что мешает самому написать такую тестовую программу?  Улыбающийся
На самом деле, раз уж вопрос о QTableVIEW, у которой есть модель, то время должно быть в пределах секунды. По крайней мере, я в это буду свято верить.
QTableView должна загружать данные по необходимости, опрашивая при этом модель.
У Шлея в книге есть тестовый пример с QTableModel, где таблица отображает номера строк и столбцов матрицы вроде 100х100. Попробуйте реализовать этот пример, но на больших размерах.
Из личных наблюдений могу сказать только, что QTableView выводит данные значительно быстрее, чем QTableWidget.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5684


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Июнь 04, 2018, 13:14 »

сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?

Прорисовываются только видимые строки/колонки.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2621


Просмотр профиля
« Ответ #3 : Июнь 04, 2018, 13:21 »

100k должна держать из коробки, если надо 3кк и выше - надо пошаманить, но тоже может.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #4 : Июнь 05, 2018, 20:14 »

Я делал табличку с очень простой моделью в две колонки 2000000 (2 млн) строк. Перерисовка происходила мгновенно.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #5 : Июнь 05, 2018, 20:17 »

Цитировать
если надо 3кк и выше - надо пошаманить,
Имхо, все зависит только от модели. И все шаманство перекладывается на модель.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2621


Просмотр профиля
« Ответ #6 : Июнь 05, 2018, 20:23 »

Я делал табличку с очень простой моделью в две колонки 2000000 (2 млн) строк. Перерисовка происходила мгновенно.

Теперь добавьте инсерт сотни рядов в секунду:)
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #7 : Июнь 05, 2018, 20:36 »

Теперь добавьте инсерт сотни рядов в секунду:)
Но опять же, все зависит от организации вставок в модель. Возможно, если инсертить стандартными методами, то будет и тормоз. Но шаманить надо именно с моделью.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2621


Просмотр профиля
« Ответ #8 : Июнь 05, 2018, 20:52 »

Теперь добавьте инсерт сотни рядов в секунду:)
Но опять же, все зависит от организации вставок в модель. Возможно, если инсертить стандартными методами, то будет и тормоз. Но шаманить надо именно с моделью.

Начнем с того, что у QTableView есть вертикальный хедер, который умеет настраивать высоту строки. Таким образом, для того, чтобы вычислить y-позицию строки N во вьюпорте (для корректного отображения скролла), надо просуммировать высоты N строк...
Сколько в модели не шамань, этого не избежать:)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.052 секунд. Запросов: 22.