2012-05-26 23 views
32

में वेबव्यू का प्रदर्शन मेरे पास एक HTML5 यूआई और जावा बैकएंड है और सादे जावा में एचटीएमएल ui के पुनर्निर्माण से बचने के लिए चाहते हैं, इसलिए मेरा विचार स्थानीय वेबसर्वर चलाने और इसे "मूल" में प्रस्तुत करने के लिए एक वेबव्यू का उपयोग करना था। खिड़की। समाधान जावाएफएक्स वेबव्यू का उपयोग करना प्रतीत होता है जिसे स्विंग में एम्बेड किया जा सकता है। पेपर पर यह बहुत अच्छा लगता है (विशेष रूप से जब वे वेबकिट का उपयोग करने का दावा करते हैं जिसमें क्रोम/सफारी में मेरे यूआई के लिए काफी बेहतर प्रदर्शन होता है)।जावाएफएक्स

यह काम करता है, लेकिन: प्रदर्शन असीमित रूप से खराब है। क्रोम, सफारी (या यहां तक ​​कि धीमे फ़ायरफ़ॉक्स) में एक ही चीज़ की तुलना में तीव्रता के आदेश धीमे हैं। यह सचमुच अनुपयोगी है (मेरा यूआई JQuery/JS का भारी उपयोग करता है)। बीटीडब्ल्यू, मैं this post से कोड का उपयोग कर रहा हूं।

सवाल यह है:

  1. कर सकते हैं किसी को भी दूसरे मेरे अनुभव? क्या मैं बस कुछ गलत कर रहा हूं या क्या यह जावाएफएक्स और इस प्रकार "सामान्य" है?

  2. कोई बेहतर विचार यह कैसे प्राप्त करें? मैं वर्तमान में बस सिस्टम ब्राउज़र को फायर कर रहा हूं जो काम करता है लेकिन उतना अच्छा नहीं है (एकीकृत के रूप में नहीं दिखता है)।

+0

क्या आप जिस सामग्री का परीक्षण कर रहे हैं उसका लिंक प्रदान कर सकते हैं? – jewelsea

+0

आपका सिस्टम हार्डवेयर/सॉफ्टवेयर कॉन्फ़िगरेशन क्या है? – jewelsea

+0

आपके द्वारा संदर्भित नमूना कोड पोस्ट स्विंग और जावाएफएक्स मिश्रण करता है। एक शुद्ध जावाएफएक्स ऐप का उपयोग कर एक ही पेज तक पहुंचने का प्रयास करें। – jewelsea

उत्तर

42

मैंने वेबव्यू का काफी उपयोग किया है और आमतौर पर प्रदर्शन पूरी तरह से ठीक और बहुत उपयोगी था।

  • एचटीएमएल 5 अनुपालन अच्छा है।
  • जावास्क्रिप्ट प्रदर्शन भिन्न होता है लेकिन मुझे Google के V8 बेंचमार्क (जिसे क्रोम संभवतया ट्यून किया गया है) के अनुसार क्रोम के हाल के संस्करण की गति के बारे में एक तिहाई गति मिली है।
  • प्रस्तुत करने का प्रदर्शन एक मुद्दा नहीं था।
  • क्रोम प्रयोग पुस्तकालय में कुछ गहन HTML वेबैप जैसे कुछ अन्य ब्राउज़रों में जितनी जल्दी शुरू नहीं हुआ था।
  • वेबजीएल समर्थित नहीं है, इसलिए वेबग्लू से ग्राफिक्स के सॉफ़्टवेयर प्रतिपादन में वापस आने वाली साइटें बहुत धीमी हैं।

वेबव्यू के साथ मेरा सबसे बड़ा मुद्दा यह है कि यह अन्य सुविधाओं के रूप में बढ़िया सुविधाओं और गहन उपयोग के लिए स्थिर नहीं है, लेकिन वास्तव में कोई गंभीर प्रदर्शन समस्या नहीं है।

अनुपालन

परीक्षण html5 अनुपालन करने के लिए एक html5 परीक्षण चल रहा है (500 से बाहर स्कोर):

यहाँ कुछ बेंचमार्क आँकड़े (WebView इस्तेमाल किया संस्करण JavaFX से 2.2 निर्माण 9 sourced किया गया था) कर रहे हैं

 
Chrome 19  402 + 13 bonus points 
Firefox 12  345 + 9 bonus points 
WebView 2.2b9 296 + 7 bonus points 
IE 9.0.6  138 + 5 bonus points 

चल रहा है एक acid3 परीक्षण, वेबव्यू स्कोर 100/100 अन्य परीक्षण ब्राउज़रों के समान है, लेकिन, IE9 की तरह, अंतिम प्रतिपादन एक मामूली अपूर्णता है।

जावास्क्रिप्ट

Sunspider जावास्क्रिप्ट बेंचमार्क (कम बेहतर है):

 
IE 9.0.6  146.7ms 
Chrome 19  151.5ms 
Firefox 12  185.8ms 
WebView 2.2b9 199.5ms 

Google V8 जावास्क्रिप्ट बेंचमार्क (उच्च बेहतर है):

 
Chrome 19  15323 
Firefox 12  9557 
WebView 2.2b9 5145 
IE 9.0.6  3661 

Mozilla Kraken जावास्क्रिप्ट बेंचमार्क (कम बेहतर है):

 
Chrome 19  2416.8ms 
Firefox 12  2112.9ms 
WebView 2.2b9 7988.9ms 
IE 9.0.6  9403.0ms 

गहन कैनवास

3D buddha स्पिनिंग (उच्च बेहतर है):

 
Chrome 19  60fps 
Firefox 12  43fps 
IE 9.0.6  16fps 
WebView 2.2b9 7fps 

JQuery

JQuery test suite निष्पादन (कम बेहतर है):

 
Chrome 19  21826ms 
WebView 2.2b9 22742ms 
Firefox 12  23554ms 
IE 9.0.6  28247ms 

उपर्युक्त बेंचमार्क (मेरे विंडोज 7 डेस्कटॉप पर चलाएं) के आधार पर, जब तक वेबव्यू स्थिर और आपके लिए पर्याप्त कार्यात्मक हो, तब वेबव्यू बनाम अन्य ब्राउज़रों का प्रदर्शन कोई मुद्दा नहीं होना चाहिए (जब तक आपका ऐप नहीं करता 3 डी कताई बौद्धों की सुविधा है। । । :-)।

अद्यतन

uta के जवाब राज्यों के रूप में, जावास्क्रिप्ट JIT कम्पाइलर जीत 32 बिट और JavaFX 2.2 की off for the Win 64 bit build JavaFX 2.2 के निर्माण के लिए स्विच ऑन करने पर। इसका मतलब यह है कि 32 बिट जावाएफएक्स संस्करण बनाम 64 बिट जावाएफएक्स संस्करण चलाते समय वेबव्यू जावास्क्रिप्ट मानक काफी धीमे (आमतौर पर 4 से 5 गुना धीमी) होते हैं।

+0

जेआईटी कंपाइलर की स्थिति समान है या नहीं, इस पर कोई अपडेट है? –

+0

इस समय से कोई अपडेट नहीं। यदि आपके पास विंडोज मशीन है, तो आप 32 बिट बनाम 64 बिट जेवीएम में चल रहे वेबव्यू के हाल के संस्करणों के प्रदर्शन का परीक्षण करने के लिए कुछ मानक चलाने का प्रयास कर सकते हैं। – jewelsea

+0

मुझे यकीन नहीं है कि क्यों, लेकिन प्रतिपादन गुणवत्ता मेरे सिस्टम पर क्रोम या फ़ायरफ़ॉक्स से बहुत कम है (linux64/ubuntu) क्या यह ठीक करने के लिए मैं कुछ भी कर सकता हूं? – thouliha

8

जावास्क्रिप्ट जेआईटी विंडोज x64 के लिए वेबनोड में बंद कर दिया गया है। यह आपकी समस्या का कारण हो सकता है।

+1

दिलचस्प। इसे मैन्युअल रूप से/प्रोग्रामेटिक रूप से स्विच करने का कोई तरीका? – Daniel

+0

जावास्क्रिप्ट जेआईटी को सक्षम/अक्षम करने के लिए स्विच या तो आंतरिक ध्वज या आंतरिक कोड में है, बाहरी सेटिंग के लिए इस सेटिंग को नियंत्रित करने के लिए सार्वजनिक रूप से समर्थित तरीका नहीं है। AFAIK, जावास्क्रिप्ट जेआईटी केवल जावा के कुछ डेवलपर पूर्वावलोकन संस्करणों के लिए बंद कर दिया गया था, लेकिन सभी रिलीज संस्करणों के लिए स्विच किया गया है। उपर्युक्त मानकों के लिए मेरा मानना ​​है कि जावास्क्रिप्ट जेआईटी को चालू किया गया था। – jewelsea

+2

क्या यह अभी भी मामला है? –

4

एक कारण यह है कि जावाएफएक्स वेबव्यू धीमा प्रतीत होता है क्योंकि एक वेब ब्राउज़र के विपरीत यह कुछ भी कैश नहीं करता है। इसे कार्यान्वित किया जाना है।

5

आप इस स्थिति में अकेले नहीं हैं। मुझे अभी भी वेबव्यू और Google मानचित्र के साथ समस्या है। आप नीचे दिए गए लिंक को देख सकते हैं। पल मैं तुम्हारे लिए किसी भी सवाल का जवाब नहीं है और यह बहुत ही अप्रिय मुझे पता है के लिए ...

मेरी पोस्ट के कुछ उदाहरण: - https://community.oracle.com/message/12356161

वोट दें इस करता है, तो आप कर सकते हैं: - https://javafx-jira.kenai.com/browse/RT-33217

+0

खबर है! जावाफक्स जिरा की जांच करें! :) @Daniel – flowx1710

6

मैं भी सामना करना पड़ा JavaFX WebView खराब प्रदर्शन (सुस्ती, मुद्दों फिर से रंगना) वेबसाइट (https://mdemo.cqg.com)। कुछ googling के बाद मैं विषय Integrating JavaFX 2.0 WebView into a Swing Java SE 6 Application पर आया था।उत्तर में JxBrowser (http://www.teamdev.com/jxbrowser) का उपयोग करने का एक प्रस्ताव है - जावा के लिए क्रोमियम-आधारित स्विंग/जावाएफएक्स घटक। मैंने अपनी साइट के लिए कोशिश की। साइट ने अच्छा प्रदर्शन किया - कोई धीमा नहीं है और न ही मुद्दों को पुनर्जीवित करता है (जो मूल वेब व्यू में होता है)।

+0

क्या JxBrowser निःशुल्क या भुगतान किया गया टूल है? यदि भुगतान किया गया तो अन्य मुफ्त विकल्प हैं? और धन्यवाद। –

+0

जेक्सब्रोसर ओपन-सोर्स और अकादमिक परियोजनाओं के लिए स्वतंत्र है: https://www.teamdev.com/jxbrowser#evaluate – Vladimir

संबंधित मुद्दे