QWebFrame setContent замедляет графический интерфейс

Я пытаюсь предварительно загрузить несколько веб-страниц в серии скрытых QWebFrames прежде чем я покажу им. Тем не менее, я обнаружил, что setContent метод для QWebFrame приводит к тому, что графический интерфейс перестает отвечать на запросы.

Я попытался поместить фактическую сетевую активность в отдельный поток и передать ее QWebFrame как QByteArray, но это не помогает, заставляя меня поверить, что именно рисование страницы вызывает ~ 1,5 секунды, очень заметное замедление.

QByteArray data = pReply->readAll();       //get the content from a QNetworkReply
this->page->mainFrame()->setContent(data); //this is the line that causes the problem

Я полностью в замешательстве и не знаю, что попробовать, так как не могу поместить весь веб-фрейм в отдельную ветку.

Кто-нибудь сталкивался с этим раньше и есть предложения?

Обновить
Я профилировал приложение и подтвердил, что корень проблемы — setContent.

Обновление 2
Я профилировал приложение с помощью Intel VTune. Я обнаружил, что QWebKit действительно занимает более 100% процессорного времени. Использование QWebSettings :: handle показалось мне тем, что использует больше всего ресурсов, и я могу подтвердить, что он загружает основной поток.

введите описание изображения здесь

0

Решение

К сожалению, я не нашел обходного пути для этого. Я выясняю способы маскировки замедления в самом приложении как способ справиться с ситуацией. Если кто-нибудь отправит какие-нибудь лучшие идеи, я приму их ответ.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]