WebFX在JavaFX中的性能

我有一个HTML5 UI和一个Java后端,并希望避免在纯Java中重建HTMLui,所以我的想法是运行一个本地Web服务器,并使用WebView在“本机”窗口中呈现它。解决方案似乎是使用可以嵌入到swing中的JavaFXWebView。在纸上听起来很不错(尤其是因为他们声称使用WebKit,对于我在Chrome /Safari中的UI而言,它的性能要好得多)。

它有效,但是:性能令人难以置信。比Chrome,Safari(甚至更慢的Firefox)中的同一个对象慢几个数量级。这实际上是不可用的(我的UI大量使用了JQuery/JS)。顺便说一句,我使用从代码这个职位。

问题是:

  1. 有人可以支持我的经验吗?我是在做错什么,还是这是JavaFX造成的,因此是“正常”的?

  2. 有什么更好的主意如何实现这一目标?我目前只是在启动系统浏览器,该浏览器可以运行,但是效果不佳(看起来不像集成的那样)。

回答:

我已经使用WebView了很多,通常性能非常好并且非常有用。

  • 符合Html5标准是好的。
  • JavaScript的性能各不相同,但根据Google的V8基准测试(可能是针对Chrome进行了调整),我发现它的速度约为最新版本的Chrome的三分之一。
  • 渲染性能似乎并不是什么大问题。
  • 非常密集的HTML Webapp(例如Chrome实验库中的某些Web应用)的启动速度不如其他某些浏览器中的启动速度。
  • 不支持WebGL,因此回落到WebGL图形软件渲染的网站要慢得多。

我对WebView的最大问题是,它对尖端功能和广泛使用的稳定性不如其他浏览器稳定,但实际上并没有任何严重的性能问题。

以下是一些基准统计数据(所使用的WebView版本来自JavaFX 2.2 build 9):

运行html5测试以测试html5符合性(满分为500):

Chrome 19402 + 13奖励积分

Firefox 12345 + 9奖励积分

WebView 2.2b9 296 + 7奖励积分

IE 9.0.6 138 + 5奖励积分

运行acid3测试,Webview与其他测试浏览器的得分相同,为100/100,但是,与IE9一样,最终呈现效果略有缺陷。

Sunspider

Javascript基准测试(越低越好):

IE 9.0.6 146.7毫秒 

Chrome 19 151.5毫秒

Firefox 12 185.8ms

WebView 2.2b9 199.5毫秒

GoogleV8

Javascript基准测试(越高越好):

铬19 15323

的Firefox 12 9557

网页浏览器2.2b9 5145

IE 9.0.6 3661

Mozilla Kraken

Javascript基准测试(越低越好):

Chrome 19 2416.8ms

Firefox 12 2112.9ms

WebView 2.2b9 7988.9毫秒

IE 9.0.6 9403.0毫秒

旋转3D佛(越高越好):

Chrome 19 60fps

Firefox 12 43fps

IE 9.0.6 16帧/秒

WebView 2.2b9 7帧/秒

jQuery测试套件执行(越低越好):

Chrome 19 21826ms

WebView 2.2b9 22742毫秒

Firefox 12 23554ms

IE 9.0.6 28247毫秒

根据上述基准(在Windows7桌面上运行),只要WebView对您来说足够稳定和功能正常,那么WebView与其他浏览器的性能就不会成为问题(只要您的应用程序没有很多功能,3D旋转佛.... :-)。

正如uta的回答所言,对于JavaFX 2.2的Win 32位版本,JavaScript JIT编译器已打开;对于JavaFX 2.2 的Win

64位版本,JavaScriptJIT编译器已关闭。这意味着与运行32位JavaFX版本相比,运行64位JavaFX版本时,WebView

JavaScript基准测试明显慢得多(通常慢4至5倍)。

以上是 WebFX在JavaFX中的性能 的全部内容, 来源链接: utcz.com/qa/425341.html

回到顶部