Я использую объект QScintilla и постепенно читаю файл в объекте QScintilla.
Заголовок myEditor.h
class myScintilla: public QScintilla {
public readFile();
};
#include "myEditor.h"
void myEditor::readFile() {
if (FILE* fp = fopen(ofilename.toLatin1(), "r")) {
QTextStream ts(fp, QIODevice::ReadOnly);
int bufferSize =(1024* 1024)/2;
do {
QString s = ts.read(bufferSize);
append(s);
} while(!ts.atEnd());
}
Даже после этого изменения все еще будут проблемы с производительностью при чтении больших файлов. Это заняло около
1) 25 секунд на чтение файла размером 1,5 ГБ. (ядра машины 4, ОЗУ 16 ГБ) 2 10 секунд файла размером 512 МБ (на той же машине)
Есть ли способ загрузить файл в объект QScintilla постепенно, основываясь на движении полосы прокрутки?