ファイルダウンローダーであるプログラムのプロファイリングを試みました。QNetworkRequest
転送速度を上げるために 5 を使用します。これらはすべて同じreadyRead()
スロットに接続します。
QMap を使用してこれらのバイト配列をバッファリングします。
ダウンロード速度が 5 MiB/秒などに達すると、CPU コストが大幅に上昇し、ほぼ 100%、readyRead()
1 秒間に 30 回の呼び出しが発生することがわかりました。
たとえば、QNetworkReply にその io デバイスをバッファリングさせて、送信されるシグナルの量を減らすことはできますか?
更新
readyReady() でいくつかのデバッグ出力を作成しました: (reply
ここでは、sender() からキャストされました)
qDebug() << "Got: " << reply->readAll().length() << " bytes";
1 秒あたり約 30 の出力で、それぞれに 1500 バイトが含まれます