Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Caduceus от Октябрь 21, 2010, 22:08



Название: QTableView - 222000 столбцов - захлебывается
Отправлено: Caduceus от Октябрь 21, 2010, 22:08
И что теперь делать? Инициализация такой таблицы занимает секунд 30 - вообще не катит. Как быть? Есть альтернатива?


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: BlackTass от Октябрь 21, 2010, 22:13
ой, а действительно нужно так много? может имеет смысл пересмотреть бизнес-логику?


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: Caduceus от Октябрь 21, 2010, 22:22
Ну как бы есть видео, о каждом кадре видео может быть несколько видов информации. Вот виды информации - это строки таблицы, а сами кадры - столбцы. Открыл кино "Супермен" - там 222 тысячи кадров. И померла моя таблица. А как же Model/view? Она разве не делалась как раз под огромные данные? :(


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: BlackTass от Октябрь 21, 2010, 22:31
Хм, может есть смысл делить видео на куски и выводить данные только для куска?
Тут уже дело даже не в мвц скорее всего, а тупо в нехватке памяти.


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: Caduceus от Октябрь 21, 2010, 22:36
Без таблицы все открывается и работает шустро. Я не понимаю - зачем он для таблицы сразу всю память отъедает, если надо только для тех столбцов, которые видны. А обновять данные будет при скролле. Неужели он выделяет в MVC память под все ячейки?


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: BlackTass от Октябрь 21, 2010, 22:41
Ну вообще да) Есть вариант перевернуть таблицу и реализовать fetchMore


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: Caduceus от Октябрь 21, 2010, 22:44
Бррр.... ниче не понял
Что такое "Перевернуть таблицу"? Стобцы и строки поменять местами? Не. Даже пробовать не буду. Даже есл все шустро начнет рабоать - это криво с точки зрения юзабилити
Что такое fetchMore?


Название: Re: QTableView - 222000 столбцов - захлебывается
Отправлено: BlackTass от Октябрь 21, 2010, 22:56
fetchMore это отложенная загрузка. В ассистанте можно почитать подробнее в методе QAbstractItemModel::fetchMore()