首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快GTK 3 WebKit2视图的缓存速度?

如何加快GTK 3 WebKit2视图的缓存速度?
EN

Stack Overflow用户
提问于 2017-03-02 15:28:36
回答 1查看 1.3K关注 0票数 1

我有一个简单的GTK3应用程序,只有一个全屏WebKitWebView (WebKit版本2)。我正在从http://localhost加载一个静态页面和一些资产。当我第一次运行我的应用程序时,加载时间为9秒(从提交到完成)。每次都要0.5秒。

我注意到这一切都与~/.cache中的一些缓存文件有关。如果删除该目录,将得到9秒的加载时间。我知道我的本地服务器不需要9秒就能提供文件,因为我在服务器内有计时,指示每个资产不到1ms的时间。如何加快这个webview的加载时间?

供参考:

代码语言:javascript
复制
$ du -csh .cache/webkitgtk/ .cache/gtk_kiosk/
4.0K    .cache/webkitgtk/
544K    .cache/gtk_kiosk/
548K    total

$ du -sh /www/
1.3M    /www/

我原以为我会尝试禁用缓存,看看会发生什么,但我尝试过的一切都不起作用。在我运行应用程序之后,缓存总是在那里。

UPDATE:我想出了如何禁用缓存,但它第一次仍然很慢。我不再获得缓存文件,但我仍然得到上面的时间。奇怪的是,既然我已经禁用了缓存,我就没有办法在没有重新启动的情况下再现9秒的加载时间。

WebKit2Gtk API参考:https://webkitgtk.org/reference/webkit2gtk/stable/

实际代码:

代码语言:javascript
复制
WebKitWebsiteDataManager *manager =
  webkit_website_data_manager_new("base-cache-directory", "/dev/null",
                                  "base-data-directory", "/dev/null",
                                  "disk-cache-directory", "/dev/null",
                                  "indexeddb-directory", "/dev/null",
                                  "local-storage-directory", "/dev/null",
                                  "offline-application-cache-directory", "/dev/null",
                                  "websql-directory", "/dev/null",
                                  NULL);
WebKitWebContext *context = webkit_web_context_new_with_website_data_manager(manager);
webkit_web_context_set_cache_model (context, WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);

GtkWidget *webView = webkit_web_view_new_with_context(context);

WebKitSettings *settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView));
webkit_settings_set_enable_page_cache(settings, FALSE);
webkit_settings_set_enable_offline_web_application_cache(settings, FALSE);
webkit_web_view_set_settings(WEBKIT_WEB_VIEW(webView), settings);

webkit_web_view_load_uri(WEBKIT_WEB_VIEW(webView), url);
EN

回答 1

Stack Overflow用户

发布于 2017-03-28 06:58:16

可能是WebKitGTK+中的加速合成

尝试设置一个环境变量WEBKIT_DISABLE_COMPOSITING_MODE=1以查看任何更改。

这个邮件列表线程也可能会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42559457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档