WebFX在JavaFX中的性能
我有一个HTML5 UI和一个Java后端,并希望避免在纯Java中重建HTMLui,所以我的想法是运行一个本地Web服务器,并使用WebView在“本机”窗口中呈现它。解决方案似乎是使用可以嵌入到swing中的JavaFXWebView。在纸上听起来很不错(尤其是因为他们声称使用WebKit,对于我在Chrome /Safari中的UI而言,它的性能要好得多)。
它有效,但是:性能令人难以置信。比Chrome,Safari(甚至更慢的Firefox)中的同一个对象慢几个数量级。这实际上是不可用的(我的UI大量使用了JQuery/JS)。顺便说一句,我使用从代码这个职位。
问题是:
有人可以支持我的经验吗?我是在做错什么,还是这是JavaFX造成的,因此是“正常”的?
有什么更好的主意如何实现这一目标?我目前只是在启动系统浏览器,该浏览器可以运行,但是效果不佳(看起来不像集成的那样)。
回答:
我已经使用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.8msFirefox 12 2112.9ms
WebView 2.2b9 7988.9毫秒
IE 9.0.6 9403.0毫秒
旋转3D佛(越高越好):
Chrome 19 60fpsFirefox 12 43fps
IE 9.0.6 16帧/秒
WebView 2.2b9 7帧/秒
jQuery测试套件执行(越低越好):
Chrome 19 21826msWebView 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