私は 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) サイズ 1.5 GB のファイルを読み取るのに 25 秒。(マシン コア 4 、16 GB RAM) 2 10 秒のサイズ 512MB のファイル (同じマシン上)
スクロールバーの動きに基づいて QScintilla オブジェクトにファイルを段階的にロードする方法はありますか?