Russian Qt Forum

Qt => Model-View (MV) => Тема начата: nvek от Июнь 04, 2018, 12:52



Название: Большой объем данных TableView
Отправлено: nvek от Июнь 04, 2018, 12:52
сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?


Название: Re: Большой объем данных TableView
Отправлено: maks1596 от Июнь 04, 2018, 13:04
сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?

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


Название: Re: Большой объем данных TableView
Отправлено: Пантер от Июнь 04, 2018, 13:14
сколько примерно занимает по времени прорисовка , скажем 65к строк + 4 и более колонок?

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


Название: Re: Большой объем данных TableView
Отправлено: Авварон от Июнь 04, 2018, 13:21
100k должна держать из коробки, если надо 3кк и выше - надо пошаманить, но тоже может.


Название: Re: Большой объем данных TableView
Отправлено: Day от Июнь 05, 2018, 20:14
Я делал табличку с очень простой моделью в две колонки 2000000 (2 млн) строк. Перерисовка происходила мгновенно.


Название: Re: Большой объем данных TableView
Отправлено: Day от Июнь 05, 2018, 20:17
Цитировать
если надо 3кк и выше - надо пошаманить,
Имхо, все зависит только от модели. И все шаманство перекладывается на модель.


Название: Re: Большой объем данных TableView
Отправлено: Авварон от Июнь 05, 2018, 20:23
Я делал табличку с очень простой моделью в две колонки 2000000 (2 млн) строк. Перерисовка происходила мгновенно.

Теперь добавьте инсерт сотни рядов в секунду:)


Название: Re: Большой объем данных TableView
Отправлено: Day от Июнь 05, 2018, 20:36
Теперь добавьте инсерт сотни рядов в секунду:)
Но опять же, все зависит от организации вставок в модель. Возможно, если инсертить стандартными методами, то будет и тормоз. Но шаманить надо именно с моделью.


Название: Re: Большой объем данных TableView
Отправлено: Авварон от Июнь 05, 2018, 20:52
Теперь добавьте инсерт сотни рядов в секунду:)
Но опять же, все зависит от организации вставок в модель. Возможно, если инсертить стандартными методами, то будет и тормоз. Но шаманить надо именно с моделью.

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