Почему QAbstractTableModel и QTableView потребляют много оперативной памяти?
необходимо отобразить в окне большое кол-во строк(от 1000 до 1М+). Для этого переопределяю QTableView и QAbstractTableModel, который заполняется данными из другого потока через сигнал-слоты (Qt::QueuedConection). Слот добавления строк выглядит следующим образом:
void MaTableModel::insertRow_slot(QVector<QVector <QString>> &text)
{
beginResetModel();
tableData.append(text);
endResetModel();
}
Реализация остальных необходимых функций тривиальна.
Всё вроде работает нормально(за исключением того что при использовании begin и endInsertRows() таблица отображает пустые строки), но приложение начинает потреблять большое кол-во оперативной памяти. К примеру если выполнить загрузку нескольких файлов суммарный объём занимаемой памяти которых равен 40МБ (220т строк), то потребляемая оперативная память программы увеличивается с 30Мб в стартовом состоянии, до 400мб. А если подгрузить ещё больше файлов то вообще падает с bad::alloc.
Вопрос в том нормально ли что так сильно увеличивается потребление памяти при использовании этих классов? Или я что то не так делаю?