使用Qt c++ QWebView会导致GUI运行缓慢

Using Qt C++ QWebView causes the GUI to run slowly.

本文关键字:GUI 运行 缓慢 Qt c++ QWebView 使用      更新时间:2023-10-16

当页面通过QWebView加载时,我注意到程序的其他元素开始运行缓慢,特别是GUI。

解决这个问题的最佳方案是什么?

当我使用QWebView时,我不能说我在用户界面的其他部分有任何明显的减速,即使是在性能很差的sbc上。我在想是不是有别的事情让你慢下来了。

您是否在加载所有页面时都遇到此问题,还是只是某些页面?

一个想法:您可以使用QWebView::settings()访问QWebView的设置对象(QWebSettings的实例)。我建议禁用JS从(QWebSettings::setAttribute(JavascriptEnabled, false))开始,只是为了看看你是否被任何运行在你试图显示的页面后面的脚本减慢了速度。

我也有同样的问题,这与有多个可见的qwebview(在我的情况下2-3)和基于javascript的元素渲染缓慢(如Raphael元素或ckeditor文档)有关。由于QWebKit必须在主线程中运行,任何渲染网页的减慢都会减慢GUI用户交互的其余部分。我目前还不知道有什么办法可以解决这个问题。令人失望的是,QWebView不能放到另一个线程中。