Russian Qt Forum

Qt => Вопросы новичков => Тема начата: alfox84 от Сентябрь 10, 2014, 08:32



Название: qwebview периодически подвисает при загрузке страницы
Отправлено: alfox84 от Сентябрь 10, 2014, 08:32
День Добрый,

Использую: Qt 4.8.5

qwebview периодически подвисает при загрузке страницы приблизительно в 5% случаев (за день страница открывается примерно 4-5 тысяч раз)
Подвисает на время от нескольких секунд до нескольких минут.

Подскажите, пожалуйста, куда копать.



Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: Fregloin от Сентябрь 10, 2014, 12:28
возможно подвисает изза того что сервер не все отдает за короткое время (возможно на сервере идут какие то другие тяжелые процессы, которые подтормаживают генерацию страницы).. ну и поичтайте про кеширование,должно помочь поидее


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: Bepec от Сентябрь 10, 2014, 12:36
WebView отрабатывает в основном потоке все операции. Если на странице есть java операции, то тем более тормозить будет. К сожалению решения не предвидится.


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: alfox84 от Сентябрь 10, 2014, 12:44
возможно подвисает изза того что сервер не все отдает за короткое время (возможно на сервере идут какие то другие тяжелые процессы, которые подтормаживают генерацию страницы).. ну и поичтайте про кеширование,должно помочь поидее

С сервера снимаем логи, при возникновении ситуаций - на стороне сервера все чисто, в mysql slow-query на те моменты нет ничего, память свободная есть, iowait'ов нет, нагрузки на сети нет.
Кеширование - стоит QWebSettings::setMaximumPagesInCache(50), пробовал играться с этим значением, но проблема все равно появляется периодически.


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: alfox84 от Сентябрь 10, 2014, 12:48
WebView отрабатывает в основном потоке все операции. Если на странице есть java операции, то тем более тормозить будет. К сожалению решения не предвидится.

Забыл уточнить, что тормозит не сама страница, а процесс загрузки страницы. Загрузка страницы идет и приостанавливается часто на 10%, 30%, 90% на время от нескольких секунд до  нескольких минут. На сервере в этот момент никакой нагрузки нет. Если работать с сайтом в обычном браузере, например в хроме, но проблемы не наблюдается.


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: Bepec от Сентябрь 10, 2014, 12:50
Хром на лету в потоке создаёт страницу. WebView же подгружает часть и, видимо, пытается отрисовать.

PS а почему бы вам не использовать QNAM вместо WebView?


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: alfox84 от Сентябрь 10, 2014, 12:57
Хром на лету в потоке создаёт страницу. WebView же подгружает часть и, видимо, пытается отрисовать.

PS а почему бы вам не использовать QNAM вместо WebView?

Приложение - софтфон, в котором работает оператор контакт центра.
QNAM - это как я понимаю QNetworkAccessManager, через него я могу получить страницу, но мне ее еще нужно показать оператору, а без WevView тут уже как мне кажется не обойтись.


Название: Re: qwebview периодически подвисает при загрузке страницы
Отправлено: Bepec от Сентябрь 10, 2014, 13:01
Ну можно подставить некрасивый костыль. Типа получить страницу QNAM'мом и, распарсив, представить оператору.

PS но тут уже надо пробовать и смотреть. На мой взгляд выигрыш в скорости будет афигенным. К примеру страница аутентификации одного сайта.
QWebView - секунд 10.
QNAM - секунду, мб и меньше.