(Qt) QNetworkAccessManager замедляет работу другого приложения

Кажется, что после того, как я создаю объект QNetworkAccessManager в Qt, он заставляет другие приложения (те, кто интенсивно использует сеть, такие как многопользовательские игры) работать медленно.

Например, если я запускаю Dota2 во время работы моего приложения в качестве фона, игра начинает зависать, даже если мое приложение Qt очень легкое (я проверил через Process Explorer, и оно все время потребляет менее 1% загрузки ЦП). Если я удалю часть QNetworkAccessManager из кода, игра будет работать без задержек.

Вот как я использую QNetworkAccessManager;

QNetworkAccessManager *qnam = new QNetworkAccessManager(this);
response = qnam->get(QNetworkRequest(url));
connect(response , &QNetworkReply::finished, this, &Test::parse_response);

И в parse_response()

void parse_response() {
        // Network Error occured
        if (response->error() != QNetworkReply::NoError) {
            response->deleteLater();
            return;
        }

        response->deleteLater();
        qnam->deleteLater();
}

Забавно, что когда я проверяю использование ввода / вывода моего приложения через Process Explorer, оно показывает странную активность при использовании ввода / вывода

Использование ввода / вывода (помечено как

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

Если у кого-нибудь был подобный опыт с этой проблемой? Или это просто моя конфигурация использования QNetworkAccessManager неверна?

1 ответ

Решение

Я обнаружил, что это была ошибка в QNetworkAccessManager.

В беспроводной среде QNetworkAccessManager сканирует состояние Wi-Fi каждые несколько секунд. Эти маленькие шипы были тому подтверждением. Проверьте следующий отчет об ошибке.

https://bugreports.qt.io/browse/QTBUG-40332

Чтобы решить эту проблему, либо скомпилируйте с

-D QT_NO_BEARERMANAGEMENT 

вариант или просто удалить папку носителя в плагине.

Другие вопросы по тегам